js数组如何添加json数据及js数组与json的区别

网络编程 2021-07-04 21:03www.168986.cn编程入门
在JSON中,有两种数据结构对象和数组。本篇文章给大家介绍js数组如何添加json数据以及js数组和json的区别,涉及到js json数组添加相关知识,感兴趣的朋友可以参考下本篇文章

 JSON(JavaScript Object Notation )是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,JSON是JavaScript原生数据格式。

狼蚁网站SEO优化给大家介绍js数组添加json数据的两种方式。

// 第一种方式

personInfo
: [],
for(var i = 0; i < _STAGE.passengerInfoArray.length; i++){
var name = _STAGE.passengerInfoArray[i];
var person = {v:name, text:name};
this.personInfo.push(person);
}

// 第二种方式

var passengerInfo = {};
passengerInfo.psgTypeDesc = psgTypeDesc;
passengerInfo.flightPrice = flightPrice;
_STAGE.passengerInfoArray.push(passengerInfo);

js数组与 json 的区别

一,数组

     1. 定义一维数组var s1=new Array();

                       s1=[1,2,3,4]或者s1[0]=1,s1[1]=2,s1[3]=3,s1[4]=4;
                      alert(s1[0]);

                       结果为1;

   2,,定义二维素组var s1=new Array();

                               var s1=[[3,1],[2,3,4],3,[4,5,6,7,8]];
                                 alert(s1[1][0]);

                               结果为2;

 二,定义json对象

    1,json对象       

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

      结果为Object:Object;

  2,json字符串

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

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

                    虽然status_process的值符合json对象的格式,它不是对象,只是一个字符串(是拼凑出来的);

                   将字符串转换为json对象使用函数eval,eval("(" + status_process+ ")");

         结论从后台传入到前台的是json字符串,不是真正的json对象,需要使用eval函数转换。

  3,json对象的使用       

var status_process = {
      name5 : '闲置期',
     name1 : '播种期',
     name2 : '苗期',
      name3 : '生长期',
      name4 : '采收期'
     };
     alert(status_process["name5"]);
     alert(status_process.name5);

             两个都为:闲置期

  4,json二维对象       

var status_process = {
 name5 : {name3:'空闲闲置期'},
 name1 : '播种期',
 name2 : '苗期',
 name3 : '生长期',
 name4 : '采收期'
};
alert(status_process["name5"]["name3"]);
alert(status_process.name5.name3);

  结果都为'空闲闲置期'

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by