復制代碼 代碼如下:
<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'),