在数组中解析json数据字符串存储

时间:2014-07-30 06:57:38

标签: c# ios arrays json xamarin

下面是解析类型为string的json数据。

  "data": [
    {
      "Company": {
        "id": "1",
        “Value": “20”,
        "companyId": "2001”,
      }
    },
    {
      "Company": {
        "id": "2",
        “value”: "20”,
        "companyId”: "2002”,
      }
    },
    {
      "Company": {
        "id": “3”,
        “value”: “30”,
        "companyId”: "2003”,
      }
    },
 ]

var parseData = Newtonsoft.Json.Linq.JObject.Parse (e.ResponseData.ToString ());

在数组中转换json数据字符串存储,存储公司值的Arraylist。 这是第一次处理Json对象字符串。

1 个答案:

答案 0 :(得分:2)

string json = @"{
      'status_code': 200,
      'status_text': 'matches found',
      'data': [{
         'company': {
           'id': '1',
           'value': '20',
           'companyId': '2001',}
         },
         {
         'company': {
           'id': '2',
           'value': '20',
           'companyId': '2002',}
         },
         {
         'company': {
           'id': '3',
           'value': '30',
           'companyId': '2003',}
         },]
       }";

JObject jObj = JObject.Parse(json);
var ids = jObj["data"].Children()["company"]["companyId"];
var list = new List<string>();
list.AddRange(ids.Select(id => id.Value<string>()));

foreach (var item in list)
    Console.WriteLine(item);

// Outputs ->
//  2001
//  2002
//  2003

修改

来自公司的“一切”作为清单:

JObject jObj = JObject.Parse(json);
var jEnum = jObj["data"].Children()["company"];

var list = jEnum.Select(company => 
    company.Values().Select(current => 
        current.Value<string>()).ToList()).ToList();