JSON 学习之JSON in JavaScript详细使用说明

复制代码 代码如下:

  <script type="text/javascript" src="scripts/json/json2.js"></script>

  <script type="text/javascript" src="scripts/json/jsonmessage.js"></script>

  一、在javascript中使用JSON创建一个对象

  Js代码

  

复制代码 代码如下:

  //创建一个空对象

  var JSONObject = {}

  //创建一个新的对象

  var JSONObject = new Object()

  //创建一个包含属性的对象,其中名称为字符串,年龄为整型

  var JSONObject = {

  "name":"kevin",

  "age":23

  }

  和java中类似,我们可以通过点(.)操作符取得对象的属性。

  

复制代码 代码如下:

  var JSONObject = {

  "name":"kevin",

  "age":24,

  };

  alert("JSONObject.name:"+JSONObject.name);

  alert("JSONObject.age:"+JSONObject.age);

  二、在javascript中使用JSON创建数组对象

  创建一个Student对象,里面包含两个数组对象,每个数组对象中,包含Student对象的属性。

  

复制代码 代码如下:

  var student = {

  //第一个数组对象Class

  "Class":[

  {

  "name":"kevin",

  "className":"java",

  "age":23

  },

  {

  "name":"yang",

  "className":"java",

  "age":24

  }

  ],

  //第二个数组对象

  "Score":[

  {

  "name":"shower",

  "score":100

  },

  {

  "name":"zheng",

  "score":100

  }

  ]

  }

  var i=0;

  for(i=0;i<student.Class.length;i++){

  alert("student.Class["+i+"].name===>"+student.Class[i].name);

  alert("student.Class["+i+"].className===>"+student.Class[i].className);

  alert("student.Class["+i+"].age===>"+student.Class[i].age);

  }

  for(i=0;i<student.Score.length;i++){

  alert("student.Score["+i+"].name===>"+student.Score[i].name);

  alert("student.Score["+i+"].score===>"+student.Score[i].score);

  }

  三、使用JSON在javascript中创建消息

  

复制代码 代码如下:

  //create a Student Object

  var Student = {

  "Math":[{

  "name":"kevin",

  "mark":70,

  "age":23

  },{

  "name":"smart",

  "mark":40,

  "age":25

  }

  ],

  "Science":[{

  "name":"kevin2",

  "mark":70,

  "age":23

  },{

  "name":"smart2",

  "mark":40,

  "age":25

  }

  ]

  }

  //print array value

  var i = 0;

  var array = new Array();

  for(i=0;i<Student.Math.length;i++){

  array.push(Student.Math[i].name);

  array.push(Student.Math[i].mark);

  array.push(Student.Math[i].age);

  }

  for(i=0;i<Student.Science.length;i++){

  array.push(Student.Science[i].name);

  array.push(Student.Science[i].mark);

  array.push(Student.Science[i].age);

  }

  alert("array==>"+array);

  //This method produce a JSON text from a JavaScript value.

  //这个方法将一个JavaScript值转换为一个JSON字符串

  alert("array.toJSONString()==>"+array.toJSONString());

  alert("String.parseJSON==>"+array.toJSONString().parseJSON());

  var data2 = array.toJSONString().parseJSON();

  if(data2 instanceof Array){

  alert("Array");

  }

  

复制代码 代码如下:

  //表达式有浏览器兼容问题

  //var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,

  // escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,

  //这个是修正后的

  var cx = new RegExp('/[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g'),

  escapable = new RegExp('/[\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g'),