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对象
   虽然status_process的值符合json对象的格式,但是它不是对象,只是一个字符串(是拼凑出来的);
                   将字符串转换为json对象使用函数eval,eval("(" + status_process+ ")");
         结论:从后台传入到前台的是json字符串,不是真正的json对象,因此需要使用eval函数转换。
json对象的使用     
var status_process = {
      name5 : '闲置期',
     name1 : '播种期',
     name2 : '苗期',
      name3 : '生长期',
      name4 : '采收期'
     };
     alert(status_process["name5"]);
     alert(status_process.name5);
两个都为:闲置期
json 语法规则
json 语法是 javascript 对象表示法语法的子集。
•数据在名称/值对中
•数据由逗号分隔
•花括号保存对象
•方括号保存数组
json 对象
json 对象在花括号中书写:
对象可以包含多个名称/值对:
{ "firstname":"john" , "lastname":"doe" }
这一点也容易理解,与这条 javascript 语句等价:
firstname = "john"
lastname = "doe"
json 数组
json 数组在方括号中书写:
数组可包含多个对象:
{ 
"employees": [ 
{ "firstname":"john" , "lastname":"doe" }, 
{ "firstname":"anna" , "lastname":"smith" }, 
{ "firstname":"peter" , "lastname":"jones" } 
] 
}
在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。
json 文件
•json 文件的文件类型是 ".json"
•json 文本的 mime 类型是 "application/json"
json文本转换为 javascript 对象
javascript 函数 eval() 可用于将 json 文本转换为 javascript 对象。
eval() 函数使用的是 javascript 编译器,可解析 json 文本,然后生成 javascript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval ("(" + jsontxt + ")");
示例:
  $.ajax({
    type: 'post',
    url: '../../casehandler.ashx?action=getcase&id=' + id.tostring(), //url action是方法的名称
    data: "",
    datatype: "text", //可以是text,如果用text,返回的结果为字符串;如果需要json格式的,可以设置为json
    contenttype: "application/json; charset=utf-8",
    success: function (returneddata) {
      getmarkerfeature(eval("(" + returneddata+ ")"));
    },
    error: function (msg) {
      alert("访问失败:"+ msg);
    }
  });
通过javascript创建对象数组
var employees = [
{ "firstname":"bill" , "lastname":"gates" },
{ "firstname":"george" , "lastname":"bush" },
{ "firstname":"thomas" , "lastname": "carter" }
];
javascript对象属性访问的两种方式
object.attribute
object["attribute"]
例如:
var employees = [
{ "firstname":"bill" , "lastname":"gates" },
{ "firstname":"george" , "lastname":"bush" },
{ "firstname":"thomas" , "lastname": "carter" }
];
alert(employees[0].lastname); // 方式一
alert(employees[0]["lastname"]); // 方式二
以上就是javascript json对象与数组转换简单实现方法实例详解的详细内容。
   
 
   