【问题标题】:JSON.NET XML to JSonJSON.NET XML 转 JSON
【发布时间】: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
  });

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

【问题讨论】:

    标签: c# jquery json json.net


    【解决方案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/

    【讨论】:

    • 你能解决你的问题吗?
    • 刚刚完成您的上一篇文章。我之前没看到 :-)
    • Innerobject 声明它没有被定义。
    • 顺便说一句,答案都是你的,只要我点击接受,我们就无法解决这些问题。 :-)
    • 这是我从 webmethod 返回的类型:SASMI.GlobalClasses+Entity
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 2011-11-08
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多