我有一个列表,我想使用C#和Newtonsoft转换为JSON。
标签
[0]: "foo"
[1]: "bar"
Run Code Online (Sandbox Code Playgroud)
输出为:-
{"tags": ["foo", "bar"]}
Run Code Online (Sandbox Code Playgroud)
有人能指出我正确的方向吗?我可以将List转换为JSON,但是它们的关键是我需要JSON中的“标签”部分,而我不能通过convert使用获得JsonConvert.SerializeObject(tags)
。
以下代码将列表包装为匿名类型,从而生成您要查找的内容。
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace Test
{
class Program
{
static void Main(string[] args)
{
var list = new List<string> {"foo", "bar"};
var tags = new {tags = list};
Console.WriteLine(JsonConvert.SerializeObject(tags));
Console.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)
可以说,最简单的方法就是用你的List<string>
属性编写一个包装对象
public class Wrapper
{
[JsonProperty("tags")]
public List<string> Tags {get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后当序列化时,这会给出您期望的输出。
var obj = new Wrapper(){ Tags = new List<string>(){ "foo", "bar"} };
var json = JsonConvert.SerializeObject(obj);
Console.WriteLine(json);
// outputs: {"tags":["foo","bar"]}
Run Code Online (Sandbox Code Playgroud)
实例: http: //rextester.com/FTFIBT36362
归档时间: |
|
查看次数: |
9461 次 |
最近记录: |