今天上班时,有位开发的朋友问我,在不使用前台的前提下,在后台解析JSON数据。通常时在后台调用第三方接口时需要,可能还有其他情况。
直接贴代码
用于操作Linq to JSON的类.
类名 说明
JObject 用于操作JSON对象
JArray 用语操作JSON数组
JValue 表示数组中的值
JProperty 表示对象中的属性,以"key/value"形式
JToken 用于存放Linq to JSON查询后的结果
举例
//添加引用:using Newtonsoft.Json.Linq;
//模拟返回的JSON数据,模拟的只是json对象,而不是json数组
string jsonMsg = "{\"result\":{\"code\":0},\"data\":{\"transhipNo\":\"9200190258803332218426\",\"labelImageUrl\":\"http://pygzqztfm.bkt.clouddn.com/FjuYm67NibuF-ZoO30LJlieul-DQ\",\"orderNo\":\"GP20051300002\",\"waybillNo\":\"QHXCE0513000001YQ\"}}";
JObject jsonObj= (JObject)JsonConvert.DeserializeObject(jsonMsg);
//第一种读取方法,使用循环
foreach (var item in jsonObj)
{
if (item.Key=="data")
{
var ss = item.Value["transhipNo"];
}
}
//第二种使用坐标
var transhipNo = jsonObj["data"]["transhipNo"].ToString();
解决。