当前位置:  开发笔记 > 编程语言 > 正文

打印json对象中的所有路径

如何解决《打印json对象中的所有路径》经验,为你挑选了1个好方法。

获取Given Json对象中所有路径的简单方法是什么?例如:

{  
   app:{  
      profiles:'default'
   },
   application:{  
      name:'Master Service',
      id:'server-master'
   },
   server:{  
      protocol:'http',
      host:'localhost',
      port:8098,
      context:null
   }
}

我应该能够生成以下对象

app.profiles=default
application.name=Master Service
application.id=server-master

我能够使用递归函数实现相同的功能.我想知道json是否有内置函数可以做到这一点.



1> Yeldar Kurma..:

您可以通过递归迭代对象来实现自定义转换器.

像这样的东西:

var YsakON = { // YsakObjectNotation
  stringify: function(o, prefix) {          
    prefix = prefix || 'root';
    
    switch (typeof o)
    {
      case 'object':
        if (Array.isArray(o))
          return prefix + '=' + JSON.stringify(o) + '\n';
        
        var output = ""; 
        for (var k in o)
        {
          if (o.hasOwnProperty(k)) 
            output += this.stringify(o[k], prefix + '.' + k);
        }
        return output;
      case 'function':
        return "";
      default:
        return prefix + '=' + o + '\n';
    }   
  }
};

var o = {
	a: 1,
  b: true,
  c: {
    d: [1, 2, 3]
  },
  calc: 1+2+3,
  f: function(x) { // ignored
    
  }
};

document.body.innerText = YsakON.stringify(o, 'o');
推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有