- 文本生成json对象,必须在外面加一对括号。
- 因为JSON 是 javascript 的一个子集,所以,在javascript 中使用JSON是非常简单的。
- js 代码
- var myJSONObject = {"bindings": [
- {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
- {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
- {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
- ]
- };
- 在上面的例子中,我们创建了只包含一个成员 "bindings" 的一个对象,bindings 则包含了一个由3个对象组成的数组。这3个对象都包含3个成员:"ircEvent", "method","regex"。
- 在javascript 中, 成员可以通过“点号”来获取。
- 比如:
- js 代码
- myJSONObject.bindings[0].method
- 通过eval() 函数可以将JSON字符串转化为对象。
- js 代码
- var myObject = eval('(' + myJSONtext + ')');
- eval 函数非常快,但是它可以编译任何 javascirpt 代码,这样的话就可能产生安全的问
- 题。eval 的使用是基于传入的代码参数是可靠的假设的,有一些情况下,可能客户端是不可
- 信任的。
- 如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受
- JSON 文本。所以是更安全的。
- js 代码
- var myObject = JSON.parse(myJSONtext, filter);
- 可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:
- js 代码
- myData = JSON.parse(text, function (key, value) {
- return key.indexOf('date') >= 0 ? new Date(value) : value; });
- stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。
- js 代码
- var myJSONText = JSON.stringifier(myObject);
- //理解二号:
- JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是
- JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API
- 或工具包。
- JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括
- 号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’
- 对”之间使用“,”(逗号)分隔。具体细节参考http://www.json.org/json-zh.html
- 举个简单的例子:
- js 代码
- 1.function showJSON() {
- 2. var user =
- 3. {
- 4. "username":"andy",
- 5. "age":20,
- 6. "info": { "tel": "123456", "cellphone": "98765"},
- 7. "address":
- 8. [
- 9. {"city":"beijing","postcode":"222333"},
- 10. {"city":"newyork","postcode":"555666"}
- 11. ]
- 12. }
- 13.
- 14. alert(user.username);
- 15. alert(user.age);
- 16. alert(user.info.cellphone);
- 17. alert(user.address[0].city);
- 18. alert(user.address[0].postcode);
- 19.}
- 这表示一个user对象,拥有username, age, info, address 等属性。
- 同样也可以用JSON来简单的修改数据,修改上面的例子
- js 代码
- 1.function showJSON() {
- 2. var user =
- 3. {
- 4. "username":"andy",
- 5. "age":20,
- 6. "info": { "tel": "123456", "cellphone": "98765"},
- 7. "address":
- 8. [
- 9. {"city":"beijing","postcode":"222333"},
- 10. {"city":"newyork","postcode":"555666"}
- 11. ]
- 12. }
- 13.
- 14. alert(user.username);
- 15. alert(user.age);
- 16. alert(user.info.cellphone);
- 17. alert(user.address[0].city);
- 18. alert(user.address[0].postcode);
- 19.
- 20. user.username = "Tom";
- 21. alert(user.username);
- 22.}
- JSON提供了json.js包,下载http://www.json.org/json.js 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。
- js 代码
- 1.function showCar() {
- 2. var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");
- 3. alert(carr.toJSONString());
- 4.}
- 5.
- 6.function Car(make, model, year, color) {
- 7. this.make = make;
- 8. this.model = model;
- 9. this.year = year;
- 10. this.color = color;
- 11.}
- 可以使用eval来转换JSON字符到Object
- js 代码
- 1.function myEval() {
- 2. var str = '{ "name": "Violet", "occupation": "character" }';
- 3. var obj = eval('(' + str + ')');
- 4. alert(obj.toJSONString());
- 5.}
- 或者使用parseJSON()方法
- js 代码
- 1.function myEval() {
- 2. var str = '{ "name": "Violet", "occupation": "character" }';
- 3. var obj = str.parseJSON();
- 4. alert(obj.toJSONString());
- 5.}
json与js对象的一些对比与区别
最新推荐文章于 2024-06-26 17:41:43 发布