我有一个排队这样的元素JSON文件:
{
"Connection":
{
"data": "...connection string..."
}
"Log":
{
"stuff": " value"
}
etc...
}
我有这样的模式:
public class Connection
{
public string data { get; set; }
}
public class RootObject
{
public Connection Connection { get; set; }
}
并试图填充这种方式:
using (StreamReader r = new StreamReader("appsettings.json"))
{
string json = r.ReadToEnd();
var root = JsonConvert.DeserializeObject<RootObject>(json);
}
JSON字符串得到预期整个文件,但具体的值(数据)不填充 - 至少我不能访问它。数据是DeserializeObject线之后为空。
我需要提到它更具体?这是在JSON文件的多个值之一。
您的JSON数据具有上述Connection
一个水平,所以你不会看到它。
你需要一些包装类。 var myData = JsonConvert.DeserializeObject<MyData>(stringValue);
public class MyData{
public ConnectionClass Connection {get;set;}
}
public ConnectionClass{
[JsonProperty("data")] // to keep code styling consistent
public string Data {get;set;}
}