[英]How to convert a json string?
似乎无法正常工作。 我有这个json字符串,我想将其转换为C#对象:
{“ name”:“ mousePos”,“ args”:[{“ mouseDet”:{“ rid”:“ 1”,“ posx”:1277,“ posy”:275}}]}}
我一直在尝试JavaScriptSerializer
但没有运气。 我不确定如何获取posx和posy的值。 谁能建议我该怎么做? 谢谢您的帮助。
编辑:
public class JsonData
{
public string name { get; set; }
}
public Form1()
{
// ---- Other stuff here ----
string json = data.MessageText; // The json string.
JavaScriptSerializer ser = new JavaScriptSerializer();
JsonData foo = ser.Deserialize<JsonData>(json);
MessageBox.Show(foo.name); // Shows 'mousePos'
}
我将其放入JsonLint并出现错误。 其无效的JSON
{
"name": "mousePos",
"args": [
"mouseDet": {
"rid": "1",
"posx": 1277,
"posy": 275
}
} //-- THIS should not be here.
]
}
JSON无效的原因是因为您的“ args”属性在方括号内包含一个键/值对,这不是有效的数组。 我猜应该是这样的:
{
"name":"mousePos",
"args":[{"mouseDet":{"rid":"1","posx":1277,"posy":275}}]
}
您只需要稍微扩展一下对象模型即可覆盖它。 根据示例中的内容,结果将类似于:
public class JsonData
{
public string name { get; set; }
public Arguments[] args { get; set; }
}
public class Arguments
{
public MouseDet mouseDet { get; set; }
}
public class MouseDet
{
public int rid { get; set; }
public int posx { get; set; }
public int posy { get; set; }
}
...
var posx = foo.args[0].mouseDet.posx;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.