后端程序接受前台傳遞過來json
1正常json沒有問題 比如
{
"id":21,
"userName":"2張天師",
"phone":"15175220421",
"remark":"1adfadfsa",
"departMent":"1產品部",
"roleId":2
}
后台可以正常解析 var extraObj = JsonConvert.DeserializeObject<UpdateUserModel>(json);
或者
dynamic request = JsonConvert.DeserializeObject<DynamicDictionary>(req.Data.ToStringUtf8());
int id = (int)request.id;
string extra = request.userName;
2 前台json 中包含json對象正常 解析方法同上
{
"id": 21,
"extra": { \"test\": 5}
}
3前台json中包含json字符串 容易出現解析失敗的問題
{
"id": 21,
"extra": "{ \"test\": 5}"
}
由於我需要在后台代碼拼接json
extra 又是一個對象
string json = "{ \"id\":21,\"extra\":\" +JsonConvert.SerializeObject(updateObj)+ \" }"
這樣拼接完后 是無法解析該json的
正確的格式應該是
string json = "{ \"id\":21,\"extra\":\" \\\"test\\\":5 \" }"
解決方法:
JObject j = new JObject();
j.Add("id", extraObj.id);
j.Add("extra", JsonConvert.SerializeObject(updateObj));
j.ToString()就是正確的json字符串了