【发布时间】:2016-05-06 03:35:05
【问题描述】:
我有一个这样的 json 对象
{
"UrbanSourceUnsealedRoad":
[
{
"Name": "Baseflow Total Nitrogen Standard Deviation (log mg/L)",
"Min": "1",
"Max": "2",
"Default": "3",
"AlwaysInReport": "FALSE",
"Flag": "YES"
},
{
"Name": "Stormflow Total Nitrogen Mean (log mg/L)",
"Min": "4",
"Max": "5",
"Default": "6",
"AlwaysInReport": "FALSE",
"Flag": "YES"
},
...
],
"UrbanSourceSealedRoad":
[
{
"Name": "Baseflow Total Nitrogen Standard Deviation (log mg/L)",
"Min": "1",
"Max": "2",
"Default": "3",
"AlwaysInReport": "FALSE",
"Flag": "YES"
},
{
"Name": "Stormflow Total Nitrogen Mean (log mg/L)",
"Min": "4",
"Max": "5",
"Default": "6",
"AlwaysInReport": "FALSE",
"Flag": "YES"
},
...
],
...
}
我已经在 C# 中使用 JSON.net 反序列化了它
JsonConvert.DeserializeObject<Dictionary<string, List<ParameterInfo>>>(json)
这很好用,但是现在我想更改 json 以便它在文件顶部包含一个额外的字段。
即:
{
"UrbanLandUse" : ["UrbanSourceMixed", "UrbanSourceSealedRoad", "UrbanSourceUnsealedRoad" ],
"UrbanSourceUnsealedRoad":
[
{
...
但现在我的 json 文件不再是包含 List<ParameterInfo> 的字典
JSON Spec 似乎表明确实有可能
但我不确定如何使用 JSON.net API 对其进行反序列化
我可以这样做吗?
【问题讨论】:
-
我想知道我是否不打算以这种方式使用 JSON,我应该以不同的方式解决这个问题......
标签: c# json serialization json.net deserialization