JSON 學(xué)習(xí)之JSON in JavaScript詳細(xì)使用說(shuō)明
更新時(shí)間:2010年02月23日 16:04:51 作者:
只需要在前臺(tái)頁(yè)面中引入相應(yīng)的javascript即可測(cè)試
復(fù)制代碼 代碼如下:
<script type="text/javascript" src="scripts/json/json2.js"></script>
<script type="text/javascript" src="scripts/json/jsonmessage.js"></script>
一、在javascript中使用JSON創(chuàng)建一個(gè)對(duì)象
Js代碼
復(fù)制代碼 代碼如下:
//創(chuàng)建一個(gè)空對(duì)象
var JSONObject = {}
//創(chuàng)建一個(gè)新的對(duì)象
var JSONObject = new Object()
//創(chuàng)建一個(gè)包含屬性的對(duì)象,其中名稱(chēng)為字符串,年齡為整型
var JSONObject = {
"name":"kevin",
"age":23
}
和java中類(lèi)似,我們可以通過(guò)點(diǎn)(.)操作符取得對(duì)象的屬性。
復(fù)制代碼 代碼如下:
var JSONObject = {
"name":"kevin",
"age":24,
};
alert("JSONObject.name:"+JSONObject.name);
alert("JSONObject.age:"+JSONObject.age);
二、在javascript中使用JSON創(chuàng)建數(shù)組對(duì)象
創(chuàng)建一個(gè)Student對(duì)象,里面包含兩個(gè)數(shù)組對(duì)象,每個(gè)數(shù)組對(duì)象中,包含Student對(duì)象的屬性。
復(fù)制代碼 代碼如下:
var student = {
//第一個(gè)數(shù)組對(duì)象Class
"Class":[
{
"name":"kevin",
"className":"java",
"age":23
},
{
"name":"yang",
"className":"java",
"age":24
}
],
//第二個(gè)數(shù)組對(duì)象
"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中創(chuàng)建消息
復(fù)制代碼 代碼如下:
//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.
//這個(gè)方法將一個(gè)JavaScript值轉(zhuǎn)換為一個(gè)JSON字符串
alert("array.toJSONString()==>"+array.toJSONString());
alert("String.parseJSON==>"+array.toJSONString().parseJSON());
var data2 = array.toJSONString().parseJSON();
if(data2 instanceof Array){
alert("Array");
}
復(fù)制代碼 代碼如下:
//表達(dá)式有瀏覽器兼容問(wèn)題
//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,
//這個(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'),
相關(guān)文章
json解析大全 雙引號(hào)、鍵值對(duì)不在一起的情況
這篇文章主要介紹了json解析大全 雙引號(hào)、鍵值對(duì)不在一起的情況,需要的朋友可以參考下2019-12-12
比較詳細(xì)的關(guān)于javascript 解析json的代碼
JSON (JavaScript Object Notation)一種簡(jiǎn)單的數(shù)據(jù)格式,比xml更輕巧。 JSON 是 JavaScript 原生格式,這意味著在 JavaScript 中處理 JSON 數(shù)據(jù)不需要任何特殊的 API 或工具包。2009-12-12
JSONP跨域GET請(qǐng)求解決Ajax跨域訪問(wèn)問(wèn)題
本文主要是介紹了JSONP跨域是如何實(shí)現(xiàn)的,并探討下JSONP跨域的原理。以及采用JSONP跨域GET請(qǐng)求解決Ajax跨域訪問(wèn)問(wèn)題,需要的朋友可以參考下2014-12-12
JSON與XML優(yōu)缺點(diǎn)對(duì)比分析
本文從各個(gè)方面向大家對(duì)比展示了json和xml的優(yōu)缺點(diǎn),十分的全面細(xì)致,有需要的小伙伴可以參考下。2015-07-07

