C# 从Json字符串获取信息时发生Json绑定错误
上面的代码是来自服务器的json响应。我想从组件列表中获取所有信息。 我使用以下方法:C# 从Json字符串获取信息时发生Json绑定错误,c#,json,json.net,C#,Json,Json.net,上面的代码是来自服务器的json响应。我想从组件列表中获取所有信息。 我使用以下方法: { "conjunctionOp": { "conjuctionOp": 1 }, "componentList": [ { "valueIdentifier": "LOGIN", "valueMask": "LOGIN_FIELD", "fieldType": { "typeName": "IF_LOGIN" },
{
"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"
}
请帮助我找到解决方案您不应该遍历数据对象,因为它已经是一个完整的JSON对象,而不是数组 您可以通过以下方式直接访问valueIdentifier:
dynamic data = JsonConvert.DeserializeObject<dynamic>(json_additem_response);
foreach (dynamic item in data)
{
Session["valueIdentifier"] = item.componentList[0].valueIdentifier.ToString();
}
如果您收到一个对象数组,并且必须对其进行迭代,则foreach将非常合适。@PrayashBhatt数组用[]括号括起来,对象用{}括起来。非常感谢。这很有帮助。我还想将上述信息发送到web服务。如何??@PrayashBhatt这是另一个问题。然而,如果你问它,它可能会因为太宽而关闭。你需要阅读一些关于这个主题的文献和外部文章。
dynamic data = JsonConvert.DeserializeObject<dynamic>(json_additem_response);
Session["valueIdentifier"] = data.componentList[0].valueIdentifier.ToString();