给定一个JSON字符串列表,可以将List转换为JSON,而不会让序列化程序认为JSON字符串是普通的旧字符串。使用NewtonSoft .NET
使用:
List<string> list = { "{"foo": "bar"}", "[ 1, 2, 3]", "{"biz": "baz", "fiz": ["a", "b", "c"]}";
String json = JsonConvert.SerializeObject(list, Formatting.Indented);
目前我从json
获得了类似的内容:
"[ \n\r "{"foo": "bar"}", \n\r "[ 1, 2, 3]", ...]"
序列化程序将json字符串视为具有特殊格式的任何其他字符串。 我想要更像这样的东西:
"[
{
"foo": "bar"
},
[
1,
2,
3
],
{
"biz": "baz",
"fiz": [
"a",
"b",
"c"
]
}
]"
具有适当缩进的东西。
答案 0 :(得分:1)
这里的想法是使用Json.NET API自己构建JSON,而不是手动编写。为此,您可以使用JToken存储原始的json字符串,然后将结果包装在JArray中。然后,您可以使用ToString方法在完成后将所有内容序列化为JSON。
var finalString = new JArray(list.Select(JToken.Parse).ToArray()).ToString();
答案 1 :(得分:0)
使用此:
JsonSerializer serializer = new JsonSerializer();
serializer.Formatting = Formatting.Indented;