我的wcf项目使用Newtonsoft json在wcf项目解析中将Countries List作为json返回。我在我的客户端网站上建立了基于mvc的json,我在jquery中使用jtable插件显示数据。插件无法显示,因为json包含/(反斜杠)。
显示jtable的代码是
Name:{
title: 'Country Name',
width: '40%',
options: '/Country/Index'
}
国家/指数结果
{"Result":"OK","Options":"[{\"DisplayText\":\"India\",\"Value\":1},{\"DisplayText\":\"Singapore\",\"Value\":2}]"}
国家/索引从wcf服务获得结果。有没有办法剥离/在json。
编辑: 我的wcf代码是
List<JSONDisplayNameValue> lstLanguages = new List<JSONDisplayNameValue>();
//Get data from db.
//JSONDisplayNameValue has two variables DisplayName, Value
var json = JsonConvert.SerializeObject(lstLanguages);
return json;
国家/索引mvc代码
public JsonResult Index()
{
string Countries_list = processsvc.GetAllCountries();
return Json(new { Result = "OK", Options = Countries_list }, JsonRequestBehavior.AllowGet);
}
答案 0 :(得分:0)
您正在使用反斜杠,因为您要对数据进行双重序列化。
JsonConvert.SerializeObject()
将您的国家/语言列表序列化为JSON。Json()
,这会导致列表第二次序列化。这就是添加反斜杠的地方。要解决此问题,您需要
在将其添加到MVC结果之前,反序列化从WCF服务返回的列表。
- 或 -
设法检索国家/语言列表,而不将其序列化为JSON。然后将未序列化的列表添加到MVC结果中并正常序列化。