0

在尝试做其他事情时,我偶然发现了 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
  });

这会产生粗体标题的输出,下面的值。我知道需要解决的是如何一次只显示一个实例,并且有页面可以移动:-) 有什么想法吗?

4

1 回答 1

1

使用$.each,也许?这是语法:

$.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
   //entity.Countries
   //entity.IdentNumbers
   //etc
});

然后您可以在每个循环中构建该表。如果您向我提供有关您希望如何设置表格(格式)的更多信息,我们可以为您提供帮助。

这是给你的小提琴。调整输出窗口大小并检查表格:http: //jsfiddle.net/hungerpain/9KBDg/

于 2013-07-14T10:12:00.683 回答