Json 的使用技巧,序列化和反序列化
2018-01-05 14:33
393 查看
1 引入命名空间 Newtonsoft.Json
序列化
var res = new JsonResult();
var zzzz = new
{
input= new {
text = "心脏",
category = "CHD"
}
};
string jsonData = Newtonsoft.Json.JsonConvert.SerializeObject(zzzz);
获得的字符串{"output": [{"question": "不好意思,^_^暂无相关问题答案", "text": "不好意思,^_^暂无相关问题答案", "org_question": "不好意思,^_^暂无相关问题答案", "confidence": -1.0}]}
反序列化
string z = HttpPost("http://XXXX:8080/qajson2", jsonData);
string t = CommFun.Unicode2String(z);
//{"output": [{"question": "不好意思,^_^暂无相关问题答案", "text": "不好意思,^_^暂无相关问题答案", "org_question": "不好意思,^_^暂无相关问题答案", "confidence": -1.0}]}
//string z = "{\"output\": [{\"question\": \"请问心肌梗死和心肌梗塞的区别是什么\", \"text\": \"心肌梗死和心肌梗塞是同一种疾病的两种不同说法。\", \"org_question\": \"请问心肌梗死和心肌梗塞的区别是什么\", \"confidence\": 0.4072911739349365}, {\"question\": \"母亲心肌梗塞高血压高血压和心肌梗塞有什么关系吗\", \"text\": \"高血压和心肌梗死有密切的关系,高血压是导致心肌梗死的重要原因之一。长期的血压升高造成血管的破坏,也包括心脏血管的破坏,最终成为心肌梗死的导火索之一。\", \"org_question\": \"母亲心肌梗塞高血压高血压和心肌梗塞有什么关系吗\", \"confidence\": 0.3576090931892395}, {\"question\": \"心肌梗塞出院后如果心态良好还会不会发生心肌梗塞\", \"text\": \"心肌梗死后是否再次发生心肌梗死与患者病变冠脉有无充分的血运重建、规范的药物治疗等因素有关,心态良好的患者可能会减少心绞痛和心肌梗死发作的频率,但不是主要决定因素。\", \"org_question\": \"心肌梗塞出院后如果心态良好还会不会发生心肌梗塞\", \"confidence\": 0.04392777010798454}, {\"question\": \"心绞痛是什么感觉\",\"text\": \"心绞痛典型的症状表现为胸闷、胸痛,像石头压在胸部的感觉,喘不过气,严重的时候有濒死感。\", \"org_question\": \"冠心病心绞痛发作时的心痛特点\", \"confidence\": 0.0345221646130085}, {\"question\": \"早期心肌梗塞如何治疗\", \"text\": \"在发生胸痛后,立即舌下含服硝酸甘油,并拨打120或于医院急诊就诊。如果确诊为心肌梗死,医院会立即给您展开救治。主要包括药物治疗和放置支架紧急开通堵塞的冠状动脉。这一期间主要是配合医生治疗。\", \"org_question\": \"早期心肌梗塞如何治疗\", \"confidence\": 0.010036082938313484}]}";
dynamic jObject = Newtonsoft.Json.Linq.JObject.Parse(t);
string tt = jObject["output"][0]["question"].ToString();
序列化
var res = new JsonResult();
var zzzz = new
{
input= new {
text = "心脏",
category = "CHD"
}
};
string jsonData = Newtonsoft.Json.JsonConvert.SerializeObject(zzzz);
获得的字符串{"output": [{"question": "不好意思,^_^暂无相关问题答案", "text": "不好意思,^_^暂无相关问题答案", "org_question": "不好意思,^_^暂无相关问题答案", "confidence": -1.0}]}
反序列化
string z = HttpPost("http://XXXX:8080/qajson2", jsonData);
string t = CommFun.Unicode2String(z);
//{"output": [{"question": "不好意思,^_^暂无相关问题答案", "text": "不好意思,^_^暂无相关问题答案", "org_question": "不好意思,^_^暂无相关问题答案", "confidence": -1.0}]}
//string z = "{\"output\": [{\"question\": \"请问心肌梗死和心肌梗塞的区别是什么\", \"text\": \"心肌梗死和心肌梗塞是同一种疾病的两种不同说法。\", \"org_question\": \"请问心肌梗死和心肌梗塞的区别是什么\", \"confidence\": 0.4072911739349365}, {\"question\": \"母亲心肌梗塞高血压高血压和心肌梗塞有什么关系吗\", \"text\": \"高血压和心肌梗死有密切的关系,高血压是导致心肌梗死的重要原因之一。长期的血压升高造成血管的破坏,也包括心脏血管的破坏,最终成为心肌梗死的导火索之一。\", \"org_question\": \"母亲心肌梗塞高血压高血压和心肌梗塞有什么关系吗\", \"confidence\": 0.3576090931892395}, {\"question\": \"心肌梗塞出院后如果心态良好还会不会发生心肌梗塞\", \"text\": \"心肌梗死后是否再次发生心肌梗死与患者病变冠脉有无充分的血运重建、规范的药物治疗等因素有关,心态良好的患者可能会减少心绞痛和心肌梗死发作的频率,但不是主要决定因素。\", \"org_question\": \"心肌梗塞出院后如果心态良好还会不会发生心肌梗塞\", \"confidence\": 0.04392777010798454}, {\"question\": \"心绞痛是什么感觉\",\"text\": \"心绞痛典型的症状表现为胸闷、胸痛,像石头压在胸部的感觉,喘不过气,严重的时候有濒死感。\", \"org_question\": \"冠心病心绞痛发作时的心痛特点\", \"confidence\": 0.0345221646130085}, {\"question\": \"早期心肌梗塞如何治疗\", \"text\": \"在发生胸痛后,立即舌下含服硝酸甘油,并拨打120或于医院急诊就诊。如果确诊为心肌梗死,医院会立即给您展开救治。主要包括药物治疗和放置支架紧急开通堵塞的冠状动脉。这一期间主要是配合医生治疗。\", \"org_question\": \"早期心肌梗塞如何治疗\", \"confidence\": 0.010036082938313484}]}";
dynamic jObject = Newtonsoft.Json.Linq.JObject.Parse(t);
string tt = jObject["output"][0]["question"].ToString();
相关文章推荐
- C#使用DataContractJsonSerializer实现Json格式的序列化和反序列化
- .Net——使用DataContractJsonSerializer进行序列化及反序列化基本操作
- JavaScriptSerializer序列化和反序列化JSON:使用自定义JavaScriptConverter JSON的序列化和反序列化已经成为Web开发必不可少的知识。现在常用的有Syste
- 使用JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength属性
- 使用JSONObject 深度序列化和反序列化
- .net MVC 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值
- C# 使用JSON对数据序列化和反序列化.
- 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错
- ASP.NET中JSON的序列化和反序列化使用说明
- 解决如下json格式的字符串不能使用DataContractJsonSerializer序列化和反序列化
- Newtonsoft.Json 序列化和反序列化 以及时间格式 2 高级使用
- .Net——使用DataContractJsonSerializer进行序列化及反序列化基本操作
- C# 使用JSON对数据序列化和反序列化.
- 使用Json.net序列化和反序列化自定义日期
- .Net——使用DataContractJsonSerializer进行序列化及反序列化基本操作
- 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值
- 使用json-lib完成json的序列化和反序列化
- 在MVC中使用Json.Net序列化和反序列化Json对象
- mvc “使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值” 解决经历
- ASP.NET中JSON的序列化和反序列化使用说明