从JSON字符串中提取值

本文关键字:提取 字符串 JSON | 更新日期: 2023-09-27 18:08:19

我使用JSON。stringify来我有以下json字符串从javascript返回到c#函数:

"{
    '"code'":'"OK'",
    '"data'":[
        ['"adidas'",167],
        ['"adidas men's summer run basketball shoe'",35],
        ['"adidas shoes'",12],
        ['"adidas stan smith men'",9],
        ['"adidas golf shoes'",9],
        ['"adidas clothing'",9],
        ['"adidas zxz nylon man shoes'",8],
        ['"adidas uk'",8],
        ['"adidas predator'",8],
        ['"adidas perfume'",8],
        ['"adidas basketball shoes'",8],
        ['"puma and adidas shoes'",7],
        ['"mi adidas'",7],
        ['"mens discontinued adidas sandals'",7],
        ['"climate cool mens discontinued adidas sandals'",7],
        ['"china olympic adidas'",7],
        ['"china olimpic adidas'",7],
        ['"chaussure de foot adidas'",7],
        ['"alex white adidas'",7],
        ['"adidas superstars'",7]
]}"

在'data'对象内部是一个字符串数组&int值。我想把字符串值从数据数组中取出并放入List中。我该怎么做呢?

从JSON字符串中提取值

试试这个:

JavaScriptSerializer serializer = new JavaScriptSerializer();
var jsonObject= serializer.Deserialize(json_object);

您可以在这里查看更多信息:

JavaScriptSerializer。反序列化-如何更改字段名

使用如下命令将其解析为字典Newtonsoft。反序列化后,按您想要的方式循环。

在上面问题的注释之后,dictionary可能必须被一个允许重复的数据结构替换。

所以它不会隐藏在注释中:

在我的JS中,我最终只是循环遍历数据对象:

for(i=0;i<r['data'].length,i++) {
    newObject[i] = r['data'][i][0];
}
return JSON.stringify(newObject);

然后使用JObject &来自JSON的JArray。Net/newtonsoft图书馆。最后,循环遍历JArray以创建一个ObservableCollection,并将其绑定到ListBox ItemsSource。

斯科特