文档章节

json对象找根节点

一颗星星变了心
 一颗星星变了心
发布于 2016/05/19 17:19
字数 169
阅读 133
收藏 1

(function(){
    var data ={
        name:'fdasfa.',
        child:'.fdafa.',
        type:[
            {name:'jghjff.'},
            {tet:'gfsdgsgsdgs.',lastName:{ccc:'.hahah'}},
            {tec:'43434_dfgs.'},
            {longh:[{ccc:[43434,566565,3232,{tlo:12,dcc:121212}]}]}
        ],
        aa:[{ttt:{abc:{cce:222}}}]
    };
    var FLAG='$'+Math.random().toString().replace(/\./gi,'');
    var array=[];
    JSON(data);
    function JSON(obj,path){
        path=path || '';
        if(typeof(obj)=='object'){
            if(isArray(obj)){
                for(var i=0;i<obj.length;i++){
                    JSON(obj[i],path+'['+i+']'+FLAG);
                }
            }else if(isObject(obj)){
                for(var k in  obj){
                    if(isObject(obj[k])){
                        JSON(obj[k],FLAG+k+path);
                    }else if(isArray(obj[k])){
                        path= path.substring(FLAG.length,path.length);
                        JSON(obj[k],FLAG+path+k);
                    }else{
                        JSON(obj[k],k+path);
                    }

                }
            }
        }else{
            path=arrayReverse(path);
            console.log(path.join('.')+':'+obj);
        }
    };
    function arrayReverse(arr){
        var copy =[];
        arr =arr.toString().split(FLAG);
        arr =arr.reverse();
        for(var i=0;i<arr.length;i++){
            if(arr[i]){
                copy.push(arr[i]);
            }
        }
        return copy;
    }

    function objfn(obj){
        return Object.prototype.toString.call(obj).toLocaleLowerCase();
    }

    function isArray(obj){
        return objfn(obj)=='[object array]';
    }

    function isObject(obj){
        return objfn(obj)=='[object object]';
    }

})();

© 著作权归作者所有

下一篇: listtree
一颗星星变了心
粉丝 9
博文 28
码字总数 12517
作品 0
成都
网页/平面设计
私信 提问
Spring MVC返回json视图时,如何将对象直接序列化成不带变量名做为根节点

Spring MVC返回json视图时,如何将对象直接序列化成不带变量名做为根节点的 json 报文 问题 问题描述起来比较拗口,其实就是用Spring MVC时,如何将对象映射成 json 报文时不把对象作为json的...

Tek_Eternal
2015/03/01
1K
1
java解析json字符串详解(两种方法)

一、使用JSONObject来解析JSON数据 官方提供的,所以不需要导入第三方jar包;直接上代码,如下 步骤解读:      定义一个JSON数组,用于将服务器返回的数据传入到一个JSONArray对象中;...

architect刘源源
2018/11/07
568
0
xStream完美转换XML、JSON

xStream框架 xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换; 前面有介绍过json-lib这个框架,在线博文:http://www.cnblog...

ibm_hoojo
2011/04/22
0
0
xStream完美转换XML、JSON

xStream框架 xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换; 前面有介绍过json-lib这个框架,在线博文:http://www.cnblog...

DavidBao
2015/05/01
757
1
.Net中XML,JSON的几种处理方式

一、XML: 1、基本了解: xml,Extensible markup language可扩展标记语言,用于数据的传输或保存,特点,格式非常整齐数据清晰明了,并且任何语言都内置了xml分析引擎, 不需要再单独写引擎...

矜持先森么么哒
03/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
今天
8
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
今天
6
0
前端——使用base64编码在页面嵌入图片

因为页面中插入一个图片都要写明图片的路径——相对路径或者绝对路径。而除了具体的网站图片的图片地址,如果是在自己电脑文件夹里的图片,当我们的HTML文件在别人电脑上打开的时候图片则由于...

被毒打的程序猿
今天
8
0
Flutter 系列之Dart语言概述

Dart语言与其他语言究竟有什么不同呢?在已有的编程语言经验的基础上,我们该如何快速上手呢?本篇文章从编程语言中最重要的组成部分,也就是基础语法与类型变量出发,一起来学习Dart吧 一、...

過愙
今天
5
0
rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部