【发布时间】:2013-07-14 09:59:25
【问题描述】:
在尝试做其他事情时,我偶然发现了 JSON.NET,并有一个关于结果的快速问题。
我在 sql 中有一个 XML 字段,我在数据阅读器中返回,然后我通过以下方式运行它:
XmlDocument doc = new XmlDocument();
doc.LoadXml(rdr.GetString(0));
en.Add(JsonConvert.SerializeXmlNode(doc));
en 是一个列表,因为可能有很多行返回。创建的 JSON 如下,修改了真实数据,但结构完整:
"{\"Entity\":{\"@xmlns:xsd\":\"http://www.w3.org/2001/XMLSchema\",\"@xmlns:xsi\":\"http://www.w3.org/2001/XMLSchema-instance\",\"AKA\":{\"string\":[\"Name 1\",\"Name 2\"]},\"Countries\":{\"string\":[\"UK\",\"US\"]},\"IdentNumbers\":{\"string\":[\"Date Set 2\",\"Data Set 1\",\"Data Set 3\",\"Data Set 4\"]},\"PercentageMatch\":\"94\"}}"
所以如果有 3 个条目,那么 msg.d 将包含三个值,从下面的 FireBug 输出可以看出
如何在客户端循环遍历这些信息,并将其呈现在表格中?
编辑
所以对于表格布局。任何单个项目都需要有一个标题及其相关值,对于任何具有一个或多个值的项目,我需要表格有一个标题,每个项目都在新行上。与此类似:
标题 1 单项价值 标题 2 第一项值\n 第二项值 标题 2 单品价值
编辑 好的,有点到达我想要的地方。我制作了这个:
success: function (msg) {
var resultHtml = "";
$.each(msg.d, function (i, entity) {
//now entity will contain one row of data - you could access the following objects :
//entity.AKA is an array with which you could loop with
resultHtml += '<label><b>Countries:</b></label>';
resultHtml += '<text>' + entity.Countries + '</text>';
resultHtml += '<label><b>Ident:</b></label>';
resultHtml += '<text>' + entity.IdentNumbers + '</text>';
//etc
});
这会产生粗体标题的输出,下面的值。我知道需要解决的是,如何一次只显示一个实例,并有页面可以移动:-) 有什么想法吗?
【问题讨论】: