js前臺傳遞json字串陣列到後臺有後臺轉換成list集合或其他格式的問題解決
最近做公司專案,需要將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,然後自己組裝成其他格式的就容易多了,以此備註