您好我正在尝试将对象序列化为哈希,但我没有得到我想要的东西.
码:
class Data{
public string Name;
public string Value;
}
//...
var l=new List<Data>();
l.Add(new Data(){Name="foo",Value="bar"});
l.Add(new Data(){Name="biz",Value="baz"});
string json=JsonConvert.SerializeObject(l);
Run Code Online (Sandbox Code Playgroud)
当我这样做时,json结果值是
[{"Name":"foo","Value":"bar"},{"Name":"biz","Value":"baz"}]
Run Code Online (Sandbox Code Playgroud)
我想要的结果是:
[{"foo":"bar"},{"biz":"baz"}]
Run Code Online (Sandbox Code Playgroud)
我如何让JSON像那样出现?
试试这个方法的最后一行:
string json = JsonConvert.SerializeObject(l.ToDictionary(x=>x.Name, y=>y.Value));
结果: {"foo":"bar", "biz":"baz"}
结果:[{"foo":"bar"},{"biz":"baz"}]你可以这样做......
string json = JsonConvert.SerializeObject(new object[]{new {foo="bar"}, new {biz = "baz"} });
要么
string json = JsonConvert.SerializeObject(new object[]{new Data1{foo="bar"}, new Data2{biz = "baz"} });
第一个结果假设相同的数据类型,因此结果是同一个数组的一部分.第二种是不同的数据类型,因此您可以获得不同的数组
| 归档时间: |
|
| 查看次数: |
8521 次 |
| 最近记录: |