当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JSON 学习之JSON in JavaScript详细使用说明

Javascript
仿51JOB的地区选择效果(可选择多个地区)
Javascript打印网页部分内容的脚本
Ext面向对象开发实践(续)
js的闭包的一个示例说明
javascript 字符串连接的性能问题(多浏览器)
JavaScript脚本性能优化注意事项
js电信网通双线自动选择技巧
js DIV滚动条随机位置的设置技巧
Javascript日期对象的dateAdd与dateDiff方法
小试JavaScript多线程
jquery $.ajax入门应用一
JS 俄罗斯方块完美注释版代码
JavaScript在IE中“意外地调用了方法或属性访问”
设置下载不需要倒计时cookie(倒计时代码)
拖拉表格的JS函数
js刷新框架子页面的七种方法代码
FireFox与IE 下js兼容触发click事件的代码
js利用div背景,做一个竖线的效果。
javascript 贪吃蛇实现代码
JavaScript无提示关闭窗口(兼容IE/Firefox/Chrome)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 431 ::
收藏到网摘: n/a

只需要在前台页面中引入相应的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'),