1.前言
Prototype库的JSON支持为Object类提供了一个toJSON()静态方法,该方法可用于将Date、Object、Array、Hash、Number等对象转换为JSON格式的字符串。Prototype库还为String类增加了如下三个与JSON相关的方法。
1) isJSON():用于判断指定字符串是否为合法的JSON字符串。
2) evalJSON([sanitize = false]):用于将指定字符串转换成JSON对象。
3) toJSON():用于指定字符串转换成JSON字符串。
2.例子
<!DOCTYPE html> <html> <head> <meta name="author" content="OwenWilliam" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> JSON支持 </title> </head> <body> <script src="../prototype.js" type="text/javascript"> </script> <script type="text/javascript"> var date = new Date(); // 将Date对象转化成JSON字符串 document.writeln("日期对应的JSON字符串为:" + date.toJSON() + "<br />"); var p = { name : "owen", age : 30 }; // 将对象转换成JSON字符串 document.writeln("普通对象的JSON字符串为:" + Object.toJSON(p) + "<br />"); var books = ["Java" , "Ajax"]; // 将数组转换成JSON字符串 document.writeln("数组的JSON字符串为:" + Object.toJSON(books) + "<br />"); var hash = $H({name: 'owen', age : 30}); // 将Hash对象转换成JSON字符串 document.writeln("Hash对象的JSON字符串为:" + Object.toJSON(hash) + "<br />"); // 将数值转换成JSON字符串 document.writeln("数值的JSON字符串为:" + Object.toJSON(45) + "<br />"); // 下面四行代码测试怎样才算合法的字符串 document.writeln('"owen".isJSON()的结果为:' + "owen".isJSON() + "<br />"); document.writeln('"\"owen\"".isJSON()的结果为:' + "\"owen\"".isJSON() + "<br />"); document.writeln('"{age: 30}.isJSON()的结果为:' + "{age: 30}".isJSON() + "<br />"); document.writeln('"{\"age\": 30}".isJSON()的结果为:' + "{\"age\": 30}".isJSON() + "<br />"); // 定义一个JSON格式的字符串 var str = '{"name": "owen", "age": 30}'; // 将JSON格式的字符串转换成JSON对象 var author = str.evalJSON(); document.writeln('author对象的name值为:' + author.name + "<br />"); document.writeln('author对象的age值为:' + author.age + "<br />"); </script> </body> </html>
3.运行结果
时间: 2024-12-22 19:54:22