C# JObject和JArray 的分享

时间:2021-08-24 09:17:09

最近在调用别人的搜索引擎接口时遇到了一种返回类型为数组的情况,如

{
 "result" : [      //根据用户输入搜索匹配到的标题数组
         "我是一条新文档的标题一",
                       "我是一条新文档的标题二",
                       "我是一条下午档的标题三"
                        .......
     ],
   status:"ok"
}
一开始打算用string[]类型和object去反序列化JsonConvert.DeserializeObject,都不尽人意,因为result数组里面存放着是值,不是一个key-value的键值对,
后来想到了C#的JObject这种序列转换
JObject j = (JObject)JsonConvert.DeserializeObject(callback);
JToken[] result=j["result"].ToArray();
发现可以解决了返回类型为数组的问题,所以借此分享一下。
前端
data=[1,2,3,4]
 data: JSON.stringify(data)
 
后台

var cartdata=Request.Form["data"];
JArray jdata= JArray.Parse(cartdata);
JToken [] array=jdata.ToArray();