最近做公司项目,需要将js前台的json字符串传递到后台,由后台解析成list集合或者datatable格式的数据,前台json字符串格式如下:
var data =
[
{"name":"张三","sex":"男"},
{"name":"赵四","sex":"男"}
]
在后台的处理格式如下:
//单一json对象(不是字符串),可根据JProperty获取该对象的key和value值
JObject json = new JObject();
json.Add("name", "fsdf");
json.Add("value", "nihao");
foreach (JProperty i in json.Children()) //遍历JSON对象的所有属性
{
string name = i.Name.ToString();
string value = i.Value.ToString();
}
//如果是json字符串数组,则先转成对象数据,然后再根据对象属性进行获取key和value值
JArray ja = (JArray)JsonConvert.DeserializeObject(data);
foreach (JToken tok in ja.Children())
{
foreach(JProperty b in tok.Children())
{
string name = b.Name.ToString();
string value = b.Value.ToString();
}
JToken a = tok;
}
由上述可以看到,可以动态的拿到 每个对象的key 和value,然后自己组装成其他格式的就容易多了,以此备注