【发布时间】:2018-04-25 03:10:52
【问题描述】:
这是我的 json 字符串
{
"tracking_information": {
"status_name": "Picked",
"status_code": "PCK",
"status_date": "2017-11-12T07:28:01.123272",
"source": "Web",
"status_date_local": "2017-11-12 11:28:01",
"status_description": "Picked up"
},
"order_information": {
"tracking_no": "34120022",
"so_number": "44",
"client_ref": "Test Order"
}
}
这是我的代码
byte[] json_orders = wc.DownloadData(url);
var bytesAsString = Encoding.ASCII.GetString(json_orders);
dynamic jsonObj = JsonConvert.DeserializeObject(bytesAsString);
foreach (var obj in jsonObj.tracking_information)
{
string track_info = obj.Value;
}
obj 变量只保存状态名称值。如何获取状态码和相关信息。
【问题讨论】:
-
我可以测试它,您可以在 tracking_information 部分中获得所有数据。只需在循环内添加一个 Console.WriteLine(obj.Value) 并查看结果
-
@Steve 我想一次性获取这些值。我只想检查对象的值
-
顺便说一句,从 web 服务获取 ASCII 编码的 JSON 结果是非常不寻常的。你应该再仔细看看。我希望 UTF8 编码
-
您是否有理由反序列化为动态(相对于具体类型)?