论坛首页 Web前端技术论坛

JSON详细学习之JSON in JavaScript

浏览 13418 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (19) :: 隐藏帖 (1)
作者 正文
   发表时间:2009-12-24  

注意:只需要在前台页面中引入相应的javascript即可测试

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

 

 

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

     

//创建一个空对象
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");
}

 

 

   发表时间:2009-12-24  
jsonmessage.js是干啥的?
0 请登录后投票
   发表时间:2009-12-24  
egmacross 写道
jsonmessage.js是干啥的?

这是我自己写的js文件的名称,里面是我的js代码,避免页面堆砌大量而已
0 请登录后投票
   发表时间:2009-12-26  
其实JS自带的定义数组也支持楼主说的格式:
  var array = {
     
    'one':['a','b','c'],
    'two':['a','b','c']

  }

  var array_ = [];
  array_.one = ['a','b','c'];
  
  for(var i in array.one)alert(array.one[i]);
  for(var i in array.two)alert(array.two[i]);
  for(var i in array_.one)alert(array_.one[i]);
0 请登录后投票
   发表时间:2009-12-27  
确实没有讲出json的精华,你讲的这些数组对象也可以完成的
0 请登录后投票
   发表时间:2009-12-27  
fan-R 写道
确实没有讲出json的精华,你讲的这些数组对象也可以完成的


只是翻译老外的教程,一个系列教程,都是些基础的东东
0 请登录后投票
   发表时间:2009-12-27  
fan-R 写道
确实没有讲出json的精华,你讲的这些数组对象也可以完成的

json的精华是什么呢?
0 请登录后投票
   发表时间:2009-12-27  
看看json.org就明白了.
0 请登录后投票
   发表时间:2009-12-29  
//表达式有浏览器兼容问题
//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'),
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics