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


Posted in Javascript onFebruary 23, 2010
<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'),
Javascript 相关文章推荐
不用MOUSEMOVE也能滑动啊
May 23 Javascript
JavaScript常用的弹出广告及背投广告实现方法
Feb 06 Javascript
JS中字符串trim()使用示例
May 26 Javascript
第一章之初识Bootstrap
Apr 25 Javascript
jquery动态添加文本并获取值的方法
Oct 12 Javascript
原生js实现下拉框功能(支持键盘事件)
Jan 13 Javascript
Javascript ES6中数据类型Symbol的使用详解
May 02 Javascript
node.js中cluster的使用教程
Jun 09 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
Jul 11 Javascript
jquery插件开发之选项卡制作详解
Aug 30 jQuery
Vue.set()动态的新增与修改数据,触发视图更新的方法
Sep 15 Javascript
了解JavaScript函数中的默认参数
May 30 Javascript
js下用层来实现select的title提示属性
Feb 23 #Javascript
jquery 锁定弹出层实现代码
Feb 23 #Javascript
javascript document.compatMode兼容性
Feb 23 #Javascript
js操作ajax返回的json的注意问题!
Feb 23 #Javascript
javascript入门基础之私有变量
Feb 23 #Javascript
第一个JavaScript入门基础 document.write输出
Feb 22 #Javascript
jQuery入门问答 整理的几个常见的初学者问题
Feb 22 #Javascript
You might like
第1次亲密接触PHP5(1)
2006/10/09 PHP
pdo中使用参数化查询sql
2011/08/11 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
input+select(multiple) 实现下拉框输入值
2009/05/21 Javascript
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
jQuery实现3D文字特效的方法
2015/03/10 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
vue自动路由-单页面项目(非build时构建)
2019/04/30 Javascript
JS简单表单验证功能完整示例
2020/01/26 Javascript
Preload基础使用方法详解
2020/02/03 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
python中使用zip函数出现错误的原因
2018/09/28 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
CSS3制作炫酷带方向感应的鼠标滑过图片3D动画
2016/03/16 HTML / CSS
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
大班开学家长寄语
2014/04/04 职场文书
九一八事变演讲稿范文
2014/09/14 职场文书
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server