我正在使用lib:Json.NET。 我有一个带有以下数据的json文件
{
"Product":
{
"random Key1": "some text",
"random Key2": "some text",
"random Key3": "some text"
},
"TestSequence":
{
"random Key4": "Some text"
}
}
我可以反序列化json文件,但我无法将json属性映射到类属性
public class Product
{
[JsonExtensionData]
private IDictionary<string, JToken> _additionalData { get; set; }
}
public class MyData
{
public Product Product { get; set; }
}
------main programme ----
using (StreamReader r = new StreamReader(@"\Base File\Base.json"))
{
json = r.ReadToEnd();
MyData invoice = JsonConvert.DeserializeObject<MyData>(json);
string result = JsonConvert.SerializeObject(invoice);
}
如何在我的代码中访问“随机Key1”属性的值?
答案 0 :(得分:0)
一种可能性是使用普通词典:
public class MyData
{
public IDictionary<string, string> Product { get; set; }
}
然后一旦反序列化,就可以循环遍历所有键和值:
var invoice = JsonConvert.DeserializeObject<MyData>(json);
foreach (var item in invoice.Product)
{
Console.WriteLine("key: {0}, value: {1}", item.Key, item.Value);
}
当然,为了直接访问值,您可能需要知道字典的工作方式:
Console.WriteLine(invoice.Product["random Key2"]);