json对象_json对象拆分 - CSDN
  • JS把JSON转为对象

    万次阅读 2018-07-03 18:32:13
    var obj = JSON.parse('{"name":"小明","age":14}', function (key, value) { if (key === 'name') { return value + '同学'; } return value; }); console.log(JSON.stringify...
    var obj = JSON.parse('{"name":"小明","age":14}', function (key, value) {
        if (key === 'name') {
            return value + '同学';
        }
        return value;
    });
    console.log(JSON.stringify(obj)); // {name: '小明同学', age: 14}

    展开全文
  • JSON数组,JSON对象,数组的区别

    万次阅读 2018-08-15 13:46:53
    一、JSON 语法规则: JSON 是存储和交换文本信息的语法 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等, JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据...

    一、JSON 语法规则

    JSON 是存储和交换文本信息的语法

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,

    JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量。

    1、JSON可以有两种格式

    一种是对象格式的:

    {"name":"JSON","address":"北京市西城区","age":25}//JSON的对象格式的字符串

    另一种是数组对象

    [{"name":"JSON","address":"北京市西城区","age":25}]//数据对象格式

    从上面的两种格式可以看出对象格式和数组对象格式唯一的不同则是在对象格式的基础上加上了[],再来看具体的结构,可以看出都是以键值对的形式出现的,中间以英文状态下的逗号(,)分隔。

    在前端和后端进行数据传输的时候这种格式也是很受欢迎的,后端返回json格式的字符串,前台使用js中的JSON.parse()方法把JSON字符串解析为json对象,然后进行遍历,供前端使用。

    javascript 对象表示语法的子集。

    1. 数据在名称/值对中

    2. 数据由逗号分隔

    3. 花括号保存对象

    4. 方括号保存数组

    二、JSON 名称/值对

    1. JSON 数据的书写格式是:名称/值对。

    2. 名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:

    3. "firstName":"John"

    三、JSON 值

    值可以是:

    1. 数字(整数或浮点数)

    2. 字符串(在双引号中)

    3. 逻辑值(true 或 false)

    4. 数组(在方括号中)

    5. 对象(在花括号中)

    JSON正常就是由对象和数组组成,对象使用对象的方法来进行操作。数组使用数组的方法来进行操作。

     

    数组

    1. var ourcountry=[["北京市"],["上海市"],["合肥市","芜湖市","蚌埠市"]]; // 数组
      alert(ourcountry[2][1]);

    JSONArray

      json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的

    JSON对象

     json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value}

    var status_process = {
                    " name5" : '闲置期',
                    "name1" : '播种期',
                    "name2" : '苗期',
                    "name3" : '生长期',
                    "name4" : '采收期'

    alert(status_process["name5"]);
    alert(status_process.name5);
    // 两个都为:闲置期

    JSON字符串

    所谓json字符串,是指该字符串变量的值与json的格式相同,但是不是json对象,比如:

    var s1="{";
    var s2 = " 'name5' : '闲置期',   'name1' : '播种期','name2' : '苗期','name3' : '生长期','name4' : '采收期'";
    var s3="}";
    var  status_process=s1+s2+s3;

    JSON数组遍历

    packJson = [
     
            {"name":"zhang", "password":"123"},
     
            {"name":"li", "password":"456"}
     
    ];
     
    for(var p in packJson){//遍历json数组时,这么写p为索引
     
        alert(packJson[p].name + " " + packJson[p].password);
     
    }
     
    // 或者
    for(var i = 0; i < packJson.length; i++){
     
            alert(packJson[i].name + " " + packJson[i].password);
    }
    JSON数组的操作

    1、定义    var josnArry=[];

    2、添加     jsonArry.push(jsonObj);

    3、删除    delete jsonArry[0];       splice(index,length):

    4.循环访问数组

    a.jquery

    $.each(jsonArry,function(index,item){
        var userId=item.userId;          
    });
    b.一般方式

    for(var i=0;i<jsonArry.length;i++)
    {
        var userId=jsonArry[i].userId;  
    }
    c.特殊方法

    for(var item in jsonArry)

        var userId=jsonArry[item].userId;//注意:此处的item不是数组项,而是数组项的索引
    }


    JSON对象遍历

    myJson = {"name":"ji", "password":"123"};
     
    for(var p in myJson){
    //遍历json对象的每个key/value对,p为key
     
        alert(p + " " + myJson[p]);
     
    }

    字符串和json对象和json对象数组相互转换
    var jsonStr  = "{\"userId\":\"001\"}";  // json对象字符串
    var jsonArryStr = "[{\"userId\":\"001\"},{\"userId\":\"002\"}]"; // json数组字符串
    var jsonObj  = JSON.parse(jsonStr);     // 字符串转为json对象
    var jsonArry = JSON.parse(jsonArryStr); // 字符串转为json数组
    var jsonStr  = JSON.stringify(jsonObj); // json对象转为字符串
    var jsonArryStr=JSON.stringify(jsonArry);// json数组转为字符串
    alert(jsonStr);
    alert(jsonArryStr);
    alert(jsonObj.userId);
    alert(jsonArry[0]['userId']);

    JSON.stringify(obj)       将JSON对象转为字符串。
    JSON.parse(string)       将字符串转为JSON对象格式。

     

    json字符串转化成json对象

    // jquery的方法
    var jsonObj = $.parseJSON(jsonStr)
    //js 的方法
    var jsonObj =  JSON.parse(jsonStr)

    json对象转化成json字符串

    //js方法
    var jsonStr1 = JSON.stringify(jsonObj)


    注:只有数组或者json数组才可以使用length方法。json对象使用length方法无效。

      Map map和json都是键值对,不同的是map中键值对中间用等号分开,json中键值对中间用冒号分开。其实json就是一种特殊形式的map。

     

    展开全文
  • json对象

    千次阅读 2019-06-10 20:36:17
    json对象,就是把json串用对象类表示,然后调用new JSONObject().parseObject(json, User.class)方法 如:json串 { "id": "10", "name": "每特教育", "items": [ { "itemId": "20", "itemName": "...

    json转对象,就是把json串用对象类表示,然后调用new JSONObject().parseObject(json, User.class)方法
    如:json串

    {
        "id": "10",
        "name": "每特教育",
        "items": [
            {
                "itemId": "20",
                "itemName": "蚂蚁课堂"
            },
            {
                "itemId": "21",
                "itemName": "每特学院"
            }
        ]
    }
    
    

    定义user类,将对象关系包含进去

    package com.edu.emple;
    
    import java.util.List;
    
    /**
     * @author shkstart
     * @date 2019/6/10- 20:23
     */
    class Item{
        private String itemId;
        private String itemName;
    
        public String getItemId() {
            return itemId;
        }
    
        public void setItemId(String itemId) {
            this.itemId = itemId;
        }
    
        public String getItemName() {
            return itemName;
        }
    
        public void setItemName(String itemName) {
            this.itemName = itemName;
        }
    
        @Override
        public String toString() {
            return "Item{" +
                    "itemId='" + itemId + '\'' +
                    ", itemName='" + itemName + '\'' +
                    '}';
        }
    }
    public class User {
        private String id;
        private String name;
        private List<Item> items;
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public List<Item> getItems() {
            return items;
        }
    
        public void setItems(List<Item> items) {
            this.items = items;
        }
    
        @Override
        public String toString() {
            return "User{" +
                    "id='" + id + '\'' +
                    ", name='" + name + '\'' +
                    ", items=" + items +
                    '}';
        }
    }
    
    

    测试:

    package com.edu.emple;
    
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    
    /**
     * @author shkstart
     * @date 2019/6/10- 18:53
     */
    public class test001 {
       static String json ="{\"id\":\"10\",\"name\":\"每特教育\",\"items\":[{\"itemId\":\"20\",\"itemName\":\"蚂蚁课堂\"},{\"itemId\":\"21\",\"itemName\":\"每特学院\"}]}";
    
        public static void main(String[] args) {
            //1.先转换为jsonobject对象
            JSONObject jsonObject = new JSONObject().parseObject(json);
            String id = jsonObject.getString("id");
            System.out.println(id);
            String name = jsonObject.getString("name");
            System.out.println("id:"+id+"name:"+name);
            JSONArray jsonArray =jsonObject.getJSONArray("items");
            for (int i = 0; i < jsonArray.size(); i++) {
                JSONObject jsonObject1 = jsonArray.getJSONObject(i);
                String itemId = jsonObject1.getString("itemId");
                String itemName = jsonObject1.getString("itemName");
                System.out.println("itemId:"+itemId+"----itemName"+itemName);
    
            }
    
            //json转对象
            User user = new JSONObject().parseObject(json, User.class);
            System.out.println(user.toString());
        }
    }
    

    结果:
    在这里插入图片描述

    展开全文
  • 对象合并 1.接下来介绍一下ES6在Object新加的方法 assign() 1.作用:将多个对象{} 合并成一个独立对象。 2.使用方式: Obejct.assign(合并的对象,传入合并中的对象....) let user = {name:'无敌人',age:19}...

    对象合并

    1.ES6在Object新加的方法 assign()

    1.作用:将多个对象{} 合并成一个独立对象。

    2.使用方式: Obejct.assign(合并的对象,传入合并中的对象....)

     let user = {name:'无敌人',age:19};
     let page = {pageSize:10,currentPage:1};
     let newObj = {};
     
     Object.assign(newObj,user,page);
    
    

    在这里插入图片描述
    2、方法二

    var obj = { name: 'coco' }
    var obj1 = { age: 27 }
    var newObj = { ...obj, ...obj1 };
    console.log(newObj); // { name: "coco", age: 27 } 
    

    3、方法三

    // 合并对象
        function extend(target, source) {
            for (var obj in source) {
                target[obj] = source[obj];
            }
            return target;
        }
    
        // 测试
        var a = {a: 1, b: 2};
        var b = {a: 2, b: 3, c: 4};
    
        var c = extend(a, b);
        console.log(c);
    

    4、方法四

    jQuery$.extend(obj1,obj2)

    var obj1 = {'a': 1};
    var obj2 = {'b': 1};
    var obj3 = $.extend(obj1, obj2)//console.log(obj3); // {a: 1, b: 1}  obj1已被修改var obj3 = $.extend({}, obj1, obj2)//console.log(obj3); //{a: 1, b: 1} 不会改变obj1,obj2
    

    5、方法五:

    var obj1={'a':1};
    var obj2={'b':2,'c':3};
    for(var key in obj2){
         if(obj2.hasOwnProperty(key)===true){//只遍历对象自身的属性,而不包含继承于原型链上的属性,此处hasOwnProperty是判断自有属性,使用 for in 循环遍历对象的属性时,原型链上的所有属性都将被访问会避免原型对象扩展带来的干扰
              obj1[key]=obj2[key];
    	} 
    }
    
    console.log(obj1);//{'a':1,'b':2,'c':3};
    

    使用 for in 循环遍历对象的属性时,原型链上的所有属性都将被访问:
    例:

    obj={"name":"wjy","age":26,"sex":"female"};//定义一个object对象     var
    keys=[];//定义一个数组用来接受key     var values=[];//定义一个数组用来接受value      
    for(var key in obj){    
        keys.push(key);    
        values.push(obj[key]);//取得value      
        }     alert("keys is :"+keys+" and values is :"+values);    //keys is : name,age,sex,bar and values is : wjy,26,female,10  ```
    

    使用 hasOwnProperty 方法, 这将会避免原型对象扩展带来的干扰:
    例:

        var keys=[];   
        var values=[];    
        for(var key in obj){   
            //只遍历对象自身的属性,而不包含继承于原型链上的属性。  
            if (obj.hasOwnProperty(key) === true){  
                keys.push(key);    
                values.push(obj[key]);   
                }                 
            }  
        alert("keys is :"+keys+" and values is :"+values);     }   Object.prototype.bar = 1;// 修改Object.prototype   var
    o={"name":"wjy","age":26,"sex":"female"};//定义一个object对象    allpro(o); 
    //keys is : name,age,sex and values is: wjy,26,female  ```
    

    删除对象

    例1:

    var person={"name": "xiaojiayu", "age": 24, "gender": "man"};
    delete person.age
    

    例2:

    var str={
    	name:"lili",
    	age:12,
    	sex:"女"
    };
    //遍历
    $.each(str,function(_key){
        var key = _key;
        var value =str[_key];
        if(_key=="age")
        {  //删除
           delete str[_key];
        }
    });
    $.each(str,function(_key){
        console.log("删除后的结果:"+_key+"=="+str[_key]+"\r\n");
    });
    
    展开全文
  • JSON对象的创建

    千次阅读 2018-04-05 14:57:22
    在创建JSON对象的时候,首先必须要导入org.json的依赖,然后可以通过三种方式创建JSON对象,分别是利用JSONObject类创建JSON对象,利用Map来构建JSON对象以及利用JavaBean来构建JSON对象。三种创建对象的代码如下:...
  • JSON与JS对象的区别

    千次阅读 2018-12-06 16:01:54
    和一些同学一样:总是感觉json对象(其实json不是对象)和js对象的字面量表示法相同,最近学习json,真心搞不懂,js对象和json有什么区别?就是感觉json的key要用” “括起来,但是js对象的字面量表示法不需要。    ...
  • JSON 语法是 javascript 对象表示语法的子集。 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 名称/值对 JSON 数据的书写格式是:名称/值对。 名称/值对组合中的名称写在前面(在双引号中...
  • Json对象和Json字符串的区别

    万次阅读 多人点赞 2016-06-09 00:08:38
    JSON对象有时候在做项目的时候时常将这两个概念弄混淆,尤其是在使用springmvc的时候,后台@RequestBody接受的是一个json格式的字符串,一定是一个字符串。 先介绍一下json对象,首先说到对象的概念,对象的属性是...
  • Json数据对象——java操作

    千次阅读 2018-09-04 13:58:30
    Json是一种轻量级的用于数据传输语言。 基本格式: {key:value} 源码与jar包已上传github上  1、java对象 =&gt; json 对象 =&gt; String(json)   2、java List=&gt;json 数组对象=&gt;...
  • var str = '{ "...JSON字符串转换为JSON对象 var obj = str.parseJSON();//将JSON字符串转换为JSON对象 var obj = JSON.parse(str);// 将字符串转换为JSON对象JSON对象转化为JSON字符串 va...
  • vue项目中json字符串转换成json对象

    万次阅读 2018-07-30 14:25:06
    场景:在前端发送ajax请求是后台有时会返回json字符串,这样的数据需要转化成json对象才可以正常的使用 之前我在这个问题上困惑了好几天,从网上找了一些资料,使用了一下都是报错的,所以写着篇博客是为了让像我一样的...
  • 1) 创建(1)第一种方式:常见项目ajax调用后返回的都是json对象数组(2)第二种方式:手动构造json对象数组2) 遍历:共四种方法(1)$.each()(2)forEach(3)for in(4)for3) 添加:共三种方法(1)在json...
  • 在对数据库取出来的数据(特别是描述信息)里面含有特殊字符的话,使用JSON.parse将json字符串转换成json对象的时候会出错,主要是双引号,回车换行等影响明显,左尖括号和右尖括号也会导致显示问题,所以要在输出到...
  • 将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 例如: JSON字符串: var str1 = '{ "name": ...
  • 转载自:hangge的《JS - JSON对象与JSON字符串相互转换的几种方法》...一、JSON字符串转化为JSON对象假设我们有如下 JSON 字符串需要转换为 JSON 对象。1var jsonStr = '[{"Cit...
  • json对象和字符串相互转换

    万次阅读 2018-06-20 14:25:05
    var data= {&quot;name&quot;:&quot;小明&...json对象可以直接调用方法获取属性值 例如在上述的对象中 var data= {&quot;name&quot;:&quot;小明&quot;,&qu
  • 修改 JSON 对象的值

    万次阅读 2018-06-08 15:09:11
    你可以使用点号(.)来修改 JSON 对象的值。如:myObj.zhihu = "https://www.zhihu.com/people/leiqikui/";你可以使用中括号([])来修改 JSON 对象的值。如:myObj["zhihu"] = "...
  • js 中json对象转字符串

    万次阅读 2017-01-05 13:14:25
    将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键JSON字符串: var str1 = '{ "name": "cxh", ...
  • 将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 例如: JSON字符串: var str1 = '{ "name": ...
  • JSON字符串转换为JSON对象 互转函数

    千次阅读 2018-08-28 05:20:38
    在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如: JSON字符串: var str1 = ‘{ “name”: “cxh”, “sex”: “man” }’; JSON...
1 2 3 4 5 ... 20
收藏数 590,632
精华内容 236,252
关键字:

json对象