【发布时间】:2021-07-17 10:53:31
【问题描述】:
我想解析一个 json 文件。我第一次尝试简化版本只是部分成功。
简化的json结构是这样的
{
"rowCount": 102,
"data": [
{"id": "56", "bezeichnung": "Main Center", "strasse": "foostreet"},
{"id": "34", "bezeichnung": "Side Location", "strasse": "5th aveneue"}
]
}
对于外部 json { "rowCount":102, "data":[]} 我有一个类 jsonEnvelope 看起来像这样
public class JsonEnvelope
{
public int RowCount { get; set; }
public Location[] Data{ get; set; }
}
要解析数组数据"data":[] 中的json,我有class location,看起来像这样
public class Location
{
public string id;
public string bezeichnung;
public string strasse;
}
我解析 json 的代码如下所示
string jsonString = GetJsonFromFile();
var jsonEnvelope = new JsonEnvelope();
var options = new JsonSerializerOptions();
options.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
jsonEnvelope = JsonSerializer.Deserialize<JsonEnvelope>(jsonString, options);
foreach (Location h in jsonEnvelope.Data)
{
Console.WriteLine(String.Format("{0} in {1}", h.bezeichnung, h.strasse));
}
Console.WriteLine("row count = " + jsonEnvelope.RowCount);
什么在起作用?
jsonEnvelope.RowCount 行有效。数字 102 写入控制台
foreach 不起作用,h.bezeichnung 和 h.strasse 的值未写入控制台
问题
在写我的问题时,我想通了——我会自己简单回答一下
【问题讨论】:
标签: c# arrays json .net-core deserialization