如何使用javascript格式化复杂的json?

如何使用javascript格式化复杂的json?,javascript,json,parsing,Javascript,Json,Parsing,我一直试图找到一种简单的方法来格式化复杂的json文件,并将其转换为可读的html内容 目标是生成一组嵌套框html表,其中包含我的JSON文件的信息 以下是我的json示例: {"badgeGroups": [{"name":"labAccess0", "badges" : ["AAAAAAAAAA"]}, {"name":"labAccess1", "badges" : ["1111111111","29006812B3"]}], "inputs": [{"name":"labD

我一直试图找到一种简单的方法来格式化复杂的json文件,并将其转换为可读的html内容

目标是生成一组嵌套框html表,其中包含我的JSON文件的信息

以下是我的json示例:

{"badgeGroups":
[{"name":"labAccess0", "badges" : ["AAAAAAAAAA"]},
 {"name":"labAccess1", "badges" : ["1111111111","29006812B3"]}], 
"inputs":
    [{"name":"labDoorSecurityButton0", "state":false, "port":12}], 
"outputs":
    [{"name":"led0","equation":"labDoorSecurityButton0", "state":false,     "port":0,"type":"GENERIC", "inputs": ...

有什么想法吗?

问题的答案完全取决于预期的输出格式

例如,可以解析任意JSON输入,并可以看到一个示例输出。 如果你想要更多的自定义格式,还有

总之,你的问题有无限多的答案,因为它太宽泛了

function JSONtoXML(obj) {
  var s = "";
  var i=0;
  s = s + "<" + obj[0];
  var test = 0;
  for(i=1;i<obj.length;i++) {
    if(!(obj[i] instanceof Array) && !(typeof obj[i]==='string')) {
      var obje = obj[i];
      var k="";
      for(prp in obje) {
        k = k +" "+ prp + '="';
        k = k+ obje[prp] + '" ';
      }
      s = s+k;
    }
    else if(!(typeof obj[i]==='string')){
      if(test===0) {
        s = s+">";
        test++;
      }
      s = s + JSONtoXML(obj[i]);
    }
    else {
      if(test===0) {
        s = s+">";
        test++;
      }
      s = s +obj[i];
    }
  }
  if(test===0) {
    s = s+">";
    test++;
  }
  s = s+ "</" + obj[0] +">";
  return s;
}
这将完成将json转换为xml的工作。
如果您想要更好的可读性,请尝试一些json美化器

真正的问题是什么?你有什么问题?我很难找到一个简单的方式来显示它,我很确定这是可能的。也许可以递归地显示键和值?也许可以编写一个递归函数,返回嵌套ul和li元素的html?是否要美化JSON,使其看起来仍然像JSON,还是只显示其包含的数据?会解决你的问题的bloodpletech的东西肯定是我要找的,谢谢。我讨厌一个-1的公认答案