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 相关文章推荐
JQuery index()方法使用代码
Jun 02 Javascript
jQuery 源码分析笔记(3) Deferred机制
Jun 19 Javascript
Javascript 运动中Offset的bug解决方案
Dec 24 Javascript
DOM基础教程之模型中的模型节点
Jan 19 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
Mar 01 Javascript
angular双向绑定模拟探索
Dec 26 Javascript
微信小程序实现多个按钮toggle功能的实例
Jun 13 Javascript
React-Native中禁用Navigator手势返回的示例代码
Sep 09 Javascript
用jquery获取select标签中选中的option值及文本的示例
Jan 25 jQuery
解决vue 路由变化页面数据不刷新的问题
Mar 13 Javascript
JavaScript常见JSON操作实例分析
Aug 08 Javascript
Vue+penlayers实现多边形绘制及展示
Dec 24 Vue.js
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
CI框架集成Smarty的方法分析
2016/05/17 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
基于javascript显示当前时间以及倒计时功能
2016/03/18 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
angularjs 获取默认选中的单选按钮的value方法
2018/02/28 Javascript
require.js 加载过程与使用方法介绍
2018/10/30 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
Python实现感知器模型、两层神经网络
2017/12/19 Python
python实现教务管理系统
2018/03/12 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
Python logging模块用法示例
2018/08/28 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
python隐藏终端执行cmd命令的方法
2019/06/24 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
Python坐标线性插值应用实现
2019/11/13 Python
python 使用OpenCV进行简单的人像分割与合成
2021/02/02 Python
历史学专业推荐信
2013/11/06 职场文书
岗位职责风险防控
2014/02/18 职场文书
怎样写离婚协议书
2014/09/10 职场文书
重阳节标语大全
2014/10/07 职场文书
上课说话检讨书500字
2014/11/01 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
Python爬虫基础之初次使用scrapy爬虫实例
2021/06/26 Python