【发布时间】:2013-11-16 01:45:36
【问题描述】:
我不确定我是否对我的 JSON 对象进行了双重序列化,但输出会导致不需要的格式。我通过 ArcGIS Server Object Extension (REST SOE) 公开 REST 端点。我最近还实现了 JSON.Net,它基本上允许我删除几行代码。
这里是处理程序,它是为服务创建数据的核心部分(对于非 GIS 窥视者)。
private byte[] SearchOptionsResHandler(NameValueCollection boundVariables, string outputFormat, string requestProperties, out string responseProperties)
{
responseProperties = null;
JsonObject result = new JsonObject();
// Towns
DataTable dataTableTowns = GetDataTableTowns();
String jsonStringTowns = JsonConvert.SerializeObject(dataTableTowns);
result.AddString("Towns", jsonStringTowns);
// GL_Description
DataTable dataTableGLDesc = GetDataTableGLDesc();
String jsonStringGLDesc = JsonConvert.SerializeObject(dataTableGLDesc);
result.AddString("GLDesc", jsonStringGLDesc);
return Encoding.UTF8.GetBytes(result.ToJson());
}
结果是丑陋的转码 JSON:
{
"Towns": "[{\"Column1\":\"ANSONIA\"},{\"Column1\":\"BETHANY\"},{\"Column1\":\"BLOOMFIELD\"}]",
"GLDesc": "[{\"Column1\":\"Commercial\"},{\"Column1\":\"Industrial\"},{\"Column1\":\"Public\"}]"
}
是因为我以某种方式对其进行了双重序列化吗?感谢您查看此内容。
【问题讨论】:
标签: c# json rest json.net arcgis-server