所以,请阅读此详细信息以获取更多信息。当我尝试获取数组项的值时,在Method not found: 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object)'.
处出现错误。
该数组为:
{
[
{
"GROUP_MOD_ID": "G06",
"ADMIN": 1,
"USERS": 0
}
]
}
这是代码片段
dynamic obj_str = JsonConvert.DeserializeObject(obj);
string value_admin = obj_str["ADMIN"];
Console.WriteLine(value_admin);
if (value_admin == "1")
return true;
else
return false;
谢谢大家
4条答案
按热度按时间fxnxkyjh1#
在这种情况下,我不会使用
dynamic
,我通常建议在C#中避免使用dynamic
,相反,我更喜欢JToken
风格的方法(在Newtonsoft.Json.Linq
命名空间中,尽管这并不意味着必须使用Linq):在生产环境中,您需要添加输入验证代码,以确保输入JSON数组和对象实际上具有元素和值,并相应地处理这些错误。
但是如果你确信输入是正确的,你可以把它简化为一行:
......当然是以可读性为代价的。
kg7wmglp2#
首先,您的JSON似乎不正确。
正确的JSON:
当你去设计这个json的时候,它会给予你数组的数组。
您的代码将是:
通过这样做,你可以看到这一点。
要反序列化的代码:
ijxebb2r3#
您的代码只有在将json作为
变量对象="{'组模块标识':'G 06','管理员':10,'用户':0}";
或
shyt4zoc4#
嗨,首先你们要为反序列化对象建模。
你的模特像这样。
在写好这段代码之后
我希望你的问题解决了。