在尝试做其他事情时,我偶然发现了 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
});
这会产生粗体标题的输出,下面的值。我知道需要解决的是如何一次只显示一个实例,并且有页面可以移动:-) 有什么想法吗?