`

JSON使用注意

    博客分类:
  • Ext
阅读更多

使用json的一些注意事项:

1.加入apache commons必要的包,不然要报错

      commons-beanutils

      commons-collections

      commons-lang

      commons-logging

      ezmorph

      以及json的包

2.json简单理解成一个key value的数据结构即可,根据key可以找到value,其实质是对字符串的转换。

 

3.JSON 还可以表示一个数组对象,使用 [] 包含所有元素,每个元素用逗号分隔,元素可以是任意的 Value;

  Object 对象在 JSON 中是用 {} 包含一系列无序的 Key-Value 键值对表示的,实际上此处的 Object 相当于 Java 中  的 Map<String, Object> ,而不是 Java 的 Class 。注意 Key 只能用 String 表示。

参考:http://www.ibm.com/developerworks/cn/web/wa-lo-json/

 

4.调用eval()方法可以将一个json字符串转换为一个json对象。eval函数非常快速。它可以编译执行任何JavaScript程序,因此产生了安全性问题。当使用可信任与完善的源代码时才可以使用eval函数。

 

5.调用parse()方法可以获得更高的安全性和更快的处理速度。JSON解析器只能辨识JSON文本,拒绝所有脚本。提供了本地JSON支持的浏览器的JSON解析器将远快于eval函数。

 

6.调用stringify()方法可以将一个json对象转换为一个json字符串。SON stringifier进行反向操作,可以把JavaScript数据结构转换为JSON文本。JSON不支持循环数据结构,因此应小心不要为JSON stringifier提供循环结构。比如一个VO里面嵌套了另一个VO,而这个VO又嵌套了其他VO。var myJSONText = JSON.stringify(myObject, replacer);

如果stringify函数发现一个带有toJSON方法的对象,它将执行此方法,并且返回产生的值。这样一个对象就可以决定自己的JSON表现。

 

7.json中的替换函数

一个替换函数(reviver function)做为可选参数被最终结果的每一级的键(key)与值(value)调用。 每个值都将被替换函数的值代替。这可以用来将一般的类改变成伪类的实例,或者将日期字符串转变为日期对象。(http://www.dreamdu.com/blog/2008/10/19/json_in_javascript/)

myData = JSON.parse(text, function (key, value) {
    var type;
    if (value && typeof value === 'object') {
        type = value.type;
        if (typeof type === 'string' && typeof window[type] === 'function') {
            return new (window[type])(value);
        }
    }
    return value;
});

 如果没有提供数组或替代函数,一个用于忽略被集成的属性的可选替代函数将被提供。如果想要所有被继承的属性,可以提供一个简单的替换函数:

var myJSONText = JSON.stringify(myObject, function (key, value) {
    return value;
});

 8.不能确定的数量将被替换为null。为了替代其它的值,可以像下面一样使用替换(replacer)函数

function replacer(key, value) {
    if (typeof value === 'number' && !isFinite(value)) {
        return String(value);
    }
    return value;
}
 

 

 

分享到:
评论
3 楼 cnlinkin 2009-12-21  
搭车请问一下
一个类实现了那个JSONString接口 用什么样的方法产生序列化后的字符串比较好呢?
我现在是在toJSONString方法里new一个JSONObject然后手动put进去,感觉这样灵活性太差,用反射遍历字段的话性能上会不会有影响呢?
2 楼 wucc1986 2009-12-18  
使用json的一些注意事项:
1.加入apache commons必要的包,不然要报错
      commons-beanutils
      commons-collections
      commons-lang
      commons-logging
      ezmorph
      以及json的包
用了json-lib包的时候 才需要导吧。。
parse()
stringify()
这2个方法都是json.js里才有的方法哦。。说说清楚吗
eval()才是JavaScript自有方法
1 楼 cjx186 2009-12-18  
http://www.json.org
Java的JSON包有好几个。最简的那个是不需要带Apache包的。
你用的应该是http://json-lib.sourceforge.net/这里的json-lib

相关推荐

    JSON 需要注意的地方

    JSON 需要注意的地方 JSON 需要注意的地方 JSON 需要注意的地方

    struts2使用json注意事项

    struts2使用json注意事项 struts2使用json注意事项 struts2使用json注意事项 struts2使用json注意事项

    Delphi中JSon SuperObject 使用数据集与JSON对象互转.docx

    Delphi 中使用 Json SuperObject 将数据集与 JSON 对象互转 在 Delphi 中,数据集是最常用的数据存取方式。...但是,我们需要注意 JSON 对象的格式,并正确地使用 Json SuperObject 将数据集与 JSON 对象互转。

    导入json包的一些注意

    导入json包的一些常见问题和注意,希望能帮到你

    JavaScript JSON使用原理及注意事项

    主要介绍了JavaScript JSON使用原理及注意事项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    redis2json:以JSON格式导出Redis数据

    例如: ./redis_to_json.py | gzip &gt; redis_backup.json.gz这对于您正在使用但又不想丢失数据的应用程序也很不错,因为Redis RDB文件并不总是那么方便。注意事项和注意事项u()中的Unicode支持仅适用于Python2.x。...

    JsonAPI使用.docx

    基于STM32 JSON 库的使用,JSON相关API使用说明。每个参数的含义,返回值的描述,以及注意点。

    使用Java在服务器端生成JSON代码

    由于Ajax技术目前的流行使用,我客户端代码的JS的面向对象代码使用中,很多框架大量使用JSON来书写。在实际开发中,除了在服务器返回XML字符流以外,我们可以在服务器端动态的生成JSON代码,这样可以更好的封装...

    android servlet使用JSON交换信息示例

    android端和servlet端使用JSON交换数据信息的简单小例子,部分代码在JSP环境下实现,搞过Java WEB开发(JSP)的程序员,应该对Servlet不陌生,Json目前也是流行技术,所以说这个例子将Android、Json、Servlet三者结合...

    JsonFormat.js(editplus格式化 json插件)

    editplus格式化 json插件 使用:自定义工具 》命令 》Cscript.exe /nologo "D:\JsonFormat.js" 注意地址需要用引号

    json相关jar包级及使用

     JSON 作为一种更轻、更友好的 Web services客户端的格式(多采用浏览器的形式或访问 REST风格 Web服务的Ajax应用程序的形式)引起了 Web 服务供应商的注意。  本文将阐述JSON在Web services设计中备受推崇的原因...

    C++的JSON库及使用方法

    jsoncpp 主要包含三个class:Value、Reader、Writer。注意Json::Value 只能处理 ANSI 类型的字符串,如果 C++ 程序是用 Unicode 编码的,最好加一个 Adapt 类来适配

    Scala中使用JSON.toJSONString报错原因分析-解决方案.docx

    Scala 中使用 JSON.toJSONString 报错原因分析-解决方案 在 Scala 中使用 JSON.toJSONString ...同时,在 Java 中,使用可变长参数的方法重载可以提高方法的灵活度和可复用性,但是也需要注意方法的调用变得“模糊”。

    pdf转json文件工具

    操作步骤: 1. 安装程序(在菜单里面看不到应用程序的) 2. 找到安装目录 ,一般目录大致为[C:\Program Files (x86)\...注意:C盘操作文件可能涉及到权限问题,所以建议先手动创建好name.js文件,不然软件不能自己创建

    ASP.NET接口请求返回解析整合json工具源码

    1、开发环境为Visual Studio 2010,无数据库,使用.net 4.0开发。 操作如下: 1、请写地址,格式例如:http://192.168.10.49/api.php/user/login 2、请写参数,格式例如:mobile=15879104925&password=123456 3、...

    JSON-handle是一款对JSON格式的内容进行浏览和编辑,以树形图样式展现JSON文档,并可实时编辑

    JSON-handle Chrome插件使用方法 1.用户在本站下载json handle的,安装JSON-handle浏览器插件安装方法: 在地址栏输入 chrome://extensions/, 将下载的 .crx 插件包拖放到打开的页面中 2.安装后打开下面网址可以看到...

    Revit模型转JSON数据测试数据(JSON数据)

    将revit模型转化为JSON数据测试数据。下载这请注意这只是我的测试数据

    jsonnet, Jsonnet数据模板语言.zip

    jsonnet, Jsonnet数据模板语言 Jsonnet --数据模板语言 有关Jsonnet和文档的介绍,请访问我们的网站。请访问我们的讨论论坛...构建 Jsonnet你可以使用GCC或者Clang来构建 Jsonnet 。 注意,在最近版本的macOS 上,/usr

    十万词汇英汉词典词库JSON格式

    十万词汇英汉词典词库JSON格式,用心整理的一个词库,用JSON格式存储,直接可供JAVASCRIPT编程使用,适合制作在线或离线词典,或者背单词应用,注意只包含简要释义,不包含音标注音,更加精简节省存储空间。

    JS使用eval解析JSON的注意事项分析

    本文较为详细的分析了JS使用eval解析JSON的注意事项。分享给大家供大家参考,具体如下: 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval&#40;&#41;函数。 2. 使用Function对象来进行...

Global site tag (gtag.js) - Google Analytics