• JSON语法、对象、遍历数组的区别和基本操作


    JSON 语法规则

    1. JSON 语法是 javascript 对象表示语法的子集。
    2. 数据在名称/值对中
    3. 数据由逗号分隔
    4. 花括号保存对象
    5. 方括号保存数组

    JSON 名称/值对

    1. JSON 数据的书写格式是:名称/值对。
    2. 名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:
    3. "firstName":"John"

    JSON 值

    1. JSON 值可以是:
    2. 数字(整数或浮点数)
    3. 字符串(在双引号中)
    4. 逻辑值(true 或 false)
    5. 数组(在方括号中)
    6. 对象(在花括号中)
    7. null

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

    数组

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

    JSON对象

    1. var status_process = {
    2. " name5" : '闲置期',
    3. "name1" : '播种期',
    4. "name2" : '苗期',
    5. "name3" : '生长期',
    6. "name4" : '采收期'
    7. }
    8. alert(status_process["name5"]);
    9. alert(status_process.name5);
    10. // 两个都为:闲置期

    JSON字符串

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

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

    JSON数组遍历

    1. packJson = [
    2.  
    3. {"name":"zhang", "password":"123"},
    4.  
    5. {"name":"li", "password":"456"}
    6.  
    7. ];
    8.  
    9. for(var p in packJson){//遍历json数组时,这么写p为索引,0,1
    10.  
    11. alert(packJson[p].name + " " + packJson[p].password);
    12.  
    13. }
    14.  
    15. // 或者
    16. for(var i = 0; i < packJson.length; i++){
    17.  
    18. alert(packJson[i].name + " " + packJson[i].password);
    19. }

    JSON数组的操作

    1.定义

    var josnArry=[];

    2.添加

    jsonArry.push(jsonObj);

    3.删除

    1. delete jsonArry[0];
    2. splice(index,length):

    4.循环访问数组

    a.jquery

    1. $.each(jsonArry,function(index,item){
    2. var userId=item.userId;
    3. });

    b.一般方式

    1. for(var i=0;i<jsonArry.length;i++)
    2. {
    3. var userId=jsonArry[i].userId;
    4. }

    c.特殊方法

    1. for(var item in jsonArry)
    2. {
    3. var userId=jsonArry[item].userId;//注意:此处的item不是数组项,而是数组项的索引
    4. }

    JSON对象遍历

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

    字符串和json对象和json对象数组相互转换

    1. var jsonStr = "{"userId":"001"}"; // json对象字符串
    2. var jsonArryStr = "[{"userId":"001"},{"userId":"002"}]"; // json数组字符串
    3. var jsonObj = JSON.parse(jsonStr); // 字符串转为json对象
    4. var jsonArry = JSON.parse(jsonArryStr); // 字符串转为json数组
    5. var jsonStr = JSON.stringify(jsonObj); // json对象转为字符串
    6. var jsonArryStr=JSON.stringify(jsonArry);// json数组转为字符串
    7. alert(jsonStr);
    8. alert(jsonArryStr);
    9. alert(jsonObj.userId);
    10. alert(jsonArry[0]['userId']);

    提示:

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

    如果json对象的子元素是数组或者json数组,也可以使用length方法。可以用于遍历数据。

  • 相关阅读:
    C\C++\Java字符串拼接比较
    Visual Assist X支持VS2010高亮显示CUDA代码(Windows 7)
    相似字符串(编程之美2013初赛题2)
    linux mdadm raid阵列重建加速bitmaps文件
    Pig Grunt之简单命令及实例说明
    error: device not found解决
    Spring配置文件错误
    Java贪吃蛇游戏(坐标方法)
    java增强型for循环(三种遍历集合方式)
    酸菜鱼的简单做法
  • 原文地址:https://www.cnblogs.com/mengmengi/p/10195927.html
Copyright © 2020-2023  润新知