从json字符串

时间:2015-09-25 10:00:32

标签: c# json json.net

{
  "conjunctionOp": {
    "conjuctionOp": 1
  },
  "componentList": [
    {
      "valueIdentifier": "LOGIN",
      "valueMask": "LOGIN_FIELD",
      "fieldType": {
        "typeName": "IF_LOGIN"
      },
      "size": 20,
      "name": "LOGIN",
      "displayName": "ID",
      "isEditable": true,
      "isOptional": false,
      "isEscaped": false,
      "helpText": "1427",
    },
  ],
  "defaultHelpText": "9307"
}

ABove代码是我从服务器的json响应。我想从组件列表中获取所有信息。 我使用以下方法:

dynamic data = JsonConvert.DeserializeObject<dynamic>(json_additem_response);
foreach (dynamic item in data)
{
    Session["valueIdentifier"] = item.componentList[0].valueIdentifier.ToString();
}

请帮我解决问题

1 个答案:

答案 0 :(得分:0)

您不应该遍历data对象,因为它已经是一个完整的JSON对象,而不是数组。

您可以通过以下方式直接访问valueIdentifier

dynamic data = JsonConvert.DeserializeObject<dynamic>(json_additem_response);
Session["valueIdentifier"] = data.componentList[0].valueIdentifier.ToString();
如果您收到一个对象数组并且不得不遍历它们,那么

foreach将是合适的。