浏览 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"); }
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-12-24
jsonmessage.js是干啥的?
|
|
返回顶楼 | |
发表时间:2009-12-24
egmacross 写道 jsonmessage.js是干啥的? 这是我自己写的js文件的名称,里面是我的js代码,避免页面堆砌大量而已 |
|
返回顶楼 | |
发表时间: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]); |
|
返回顶楼 | |
发表时间:2009-12-27
确实没有讲出json的精华,你讲的这些数组对象也可以完成的
|
|
返回顶楼 | |
发表时间:2009-12-27
fan-R 写道 确实没有讲出json的精华,你讲的这些数组对象也可以完成的
只是翻译老外的教程,一个系列教程,都是些基础的东东 |
|
返回顶楼 | |
发表时间:2009-12-27
fan-R 写道 确实没有讲出json的精华,你讲的这些数组对象也可以完成的
json的精华是什么呢? |
|
返回顶楼 | |
发表时间:2009-12-27
看看json.org就明白了.
|
|
返回顶楼 | |
发表时间: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'), |
|
返回顶楼 | |