我有这个json字符串:
[
{f_id:100,r_id:200,count:2,c_id=111},
{f_id:120,r_id:200,count:1,c_id=111 }
]
我想用newtonsoft.json解析json字符串。
我怎么能这样做?
我写这段代码:
private void button1_Click(object sender, EventArgs e)
{
string json = @"[
{f_id:100,r_id:200,count:2,c_id=111},
{f_id:120,r_id:200,count:1,c_id=111 }
]";
List<myClass> tmp = JsonConvert.DeserializeObject<List<myClass>>(json);
int firstFId = tmp[0].f_id;
label1.Text = firstFId.ToString();
label2.Text = tmp[1].f_id.ToString();
}
public class myClass
{
public int f_id { get; set; }
public int r_id { get; set; }
public int count { get; set; }
public int c_id { get; set; }
}
但是有这个错误:
An unhandled exception of type 'Newtonsoft.Json.JsonReaderException' occurred in Newtonsoft.Json.dll
Additional information: Invalid JavaScript property identifier character: =. Path '[0].count', line 2, position 32.
答案 0 :(得分:0)
创建一个代表数据的类。
public class MyClass {
public int f_id { get; set; }
public int r_id { get; set; }
public int count { get; set; }
public int c_id { get; set; }
}
在您的情况下,将您的json字符串反序列化为MyClass列表。
List<MyClass> tmp = JsonConvert
.DeserializeObject<List<MyClass>>(@"
[
{
f_id: 100,
r_id: 200,
count: 2,
c_id:111
},
{
f_id: 120,
r_id: 200,
count: 1,
c_id:111
}
]
");
使用索引
访问数据int firstFId = tmp[0].f_id;
您问题中的json字符串无效。
c_id=111
应该是
c_id:111