我知道自己可以很容易地编写,但可能有更好的方法可以做到这一点。我需要一种简单的方法(静态方法(来创建带有一个元素的JSON。类似于
OneElementJson("name", "value")
并拥有类似的东西
{"name":"value"}
结果。名称应该始终是字符串,值在大多数情况下也是字符串,但重载表列表会很好。
如果你只需要一个简单的字符串,那么Serge的例子就简洁明了了。
如果您想要一种更通用的方法来实现这一点,那么请使用var或Dynamicojects以及任何JSON序列化程序。下面是一个来自.NET Core的示例:
使用var:
var thing2 = new { name = "value" };
string jsonString2 = System.Text.Json.JsonSerializer.Serialize(thing2);
Console.WriteLine(jsonString2);
使用动态:
dynamic thing = new System.Dynamic.ExpandoObject();
thing.name = "value";
string jsonString = System.Text.Json.JsonSerializer.Serialize(thing);
Console.WriteLine(jsonString);
结果是:{"name":"value"}
我刚刚在一分钟内为您创建了一个库
public string GetOneElementJson<T> (string name, T value)
{
var val= JsonConvert.SerializeObject(value);
return "{"" + name + "":" + val + "}";
}
测试
var json=GetOneElementJson("name", "value");
var json = GetOneElementJson("doubleArray", new double[] { 1.2, 3.3, 4 });
var json = GetOneElementJson("stringArray", new string[] { "one", "two", "three" });
var jObject =JObject.Parse(json);
输出
{"name":"value"}
{"doubleArray":[1.2,3.3,4]}
{"stringArray":["one","two","three"]}