创建单个元素Json C#的简单方法



我知道自己可以很容易地编写,但可能有更好的方法可以做到这一点。我需要一种简单的方法(静态方法(来创建带有一个元素的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"]}

最新更新