`

关于JSON 的put方法

阅读更多
今天劳动的时候,突然发现这个问题,做一个记录,以前还以为是传值。

JSON的put方法是一个指针引用。
例如:
JSONObject a=new JSONObject();

JSONObject b=new JSONObject();

JSONObject c=new JSONObject();
a.put("v1","v1");
b.append("a",a);
a.put("v2","v2");
c.append("a",a);


这时:
b和c 的值是一样的,都是:
{"v1":"v1","v2":"v2"}
分享到:
评论
3 楼 jindw 2008-11-01  
JSON解析和系列化,采用官方的实现并不明智。
org.json的实现,不仅接口复杂的要命。而且效率也不理想。

正好我现在在做的一个表达式解析引擎:JSEL,正好能兼容JSON的解析。
于是顺便做了一个性能测试,结果发现,StringTree最高(不过有一个bug,如果代码里面有注释,经常出现死循环)。大概事JSEL的两倍。
而官方版本最低,大概只有是JSEL一般。等比数列了,EL居中。

关于JSEL的更多的信息可参看如下连接:
详细介绍:http://code.google.com/p/jsi/wiki/JSEL
详细介绍:http://code.google.com/p/jsi/downloads/list
2 楼 wangsong76 2008-11-01  
如果要复制JSON对象,最好,也是最简单的方法,是先把JSONObject 转成string,再重新构造一个JSONObject,javascript里面是这样,java里面也是这样的。
1 楼 chbest 2008-10-22  
多谢...一般都是用地址吧

相关推荐

    Oracle Json常用方法封装

    3. **插入/更新字段**:`put`方法用于向JSON对象添加或更新字段,如`add_field_to_json`过程。 4. **删除字段**:`remove`方法用于从JSON对象中删除字段,如`remove_field_from_json`过程。 5. **验证JSON**:`is_...

    三种json解析方法

    - 使用get、put等方法操作JSON对象。 2. **Gson**: Gson是Google提供的一个用于在Java对象和JSON数据之间进行映射的Java库。它的设计目标是让JSON序列化和反序列化变得简单直观。使用Gson解析JSON的主要流程如下...

    关于json的jar包

    类的静态方法`fromObject()`将其转换为JSON对象。 ```java Map, Object> data = new HashMap(); data.put("name", "John"); data.put("age", 30); String jsonString = JSONObject.fromObject(data).toString(); ``...

    3种json解析方法包括服务器端和客户端

    你可以直接通过字符串创建JSON对象,然后通过get和put方法进行数据的读写操作。例如,将一个Java对象转换为JSON字符串,可以先将对象转化为HashMap,然后用`JSONObject`的构造函数将其转化为JSON。 2. **Gson库**:...

    java转json串的几种方法

    以下我们将详细探讨Java中将对象转换为JSON字符串的三种方法,这里使用的是阿里巴巴的Fastjson库,它是一个高性能的JSON库,提供了丰富的API来处理JSON与Java对象之间的转换。 1. **将Java对象转成JSON串** 当我们...

    struts2返回JSON数据的两种方式

    在本文中,我们将探讨两种在Struts2框架中返回JSON数据的方法。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端交互,尤其是在AJAX请求中。Struts2提供了一套方便的机制来支持JSON...

    Android HttpUrlConnection json使用方法

    首先,设置请求方法为"POST",然后设置请求头为"Content-Type: application/json",接着写入JSON数据: ```java URL url = new URL("http://api.example.com/submit"); HttpURLConnection conn = ...

    js中json使用全解

    一、选择的意义 二、JSON 基础 三、在JavaScript中使用JSON 四、JSON在Ajax中的应用

    net.sf.json.JSONObject实现Object对象与Json字符串的互转

    例如,可以使用`getString()`, `getInt()`, `put()`等方法来操作JSON对象: ```java String name = jsonObject.getString("name"); jsonObject.put("age", 35); ``` 在处理复杂对象时,如包含嵌套的对象或数组,`...

    使用JSON的方法

    如果有一个Java类(如JsonBean),可以通过fromObject方法将其实例转换为JSON对象。 4. **数组转换成JSON**: ```java boolean[] boolArray = new boolean[] { true, false, true }; JSONArray jsonArray1 = ...

    JAVA构造json对象的方法

    ### JAVA构造JSON对象的方法 在Java开发中,处理JSON数据是一项常见的任务,尤其是在与Web服务交互时。本文将详细介绍几种常用的在Java中构建JSON对象的方法,并通过具体的代码示例进行说明。 #### 一、使用`...

    json lib json lib

    “json.jar”是这个库的实现,通常是一个包含所有必要类和方法的Java类库文件,可以被Java应用程序或Web应用服务器引用,以便解析、生成和操作JSON对象。JSON库在Java中的重要性在于,它提供了一种高效且易于使用的...

    android JSON数据的读写方法

    总结,Android中处理JSON数据是开发者必备技能之一,通过理解JSON的基本结构,合理选择解析库,以及掌握读写和UI结合的方法,能够高效地实现数据的交换和显示。在实际项目中,应注重性能优化和错误处理,确保应用的...

    java json api,json api

    obj.put("key", "value");` 2. **JSON数组的处理**:`JSONArray`类允许你处理JSON数组。可以向数组中添加元素,如`JSONArray arr = new JSONArray(); arr.add("element1");` 3. **JSON与Java对象的转换**:`json-...

    json-c 一个用于c语言的json解析库,很强大

    在这个例子中,我们首先使用`json_tokener_parse`解析JSON字符串,然后通过`json_object_get_string`和`json_object_get_int`获取JSON对象中的数据,最后使用`json_object_put`释放内存。这就是`json-c`库基本的使用...

    Java下的json解析工具包:org.json.jar包

    你可以通过构造函数或者`put()`方法添加键值对,通过`get()`方法获取键对应的值,或者通过`opt()`方法安全地获取值(当键不存在时返回默认值)。此外,`keys()`方法可以遍历所有键。 2. **JSONArray**: `JSONArray`...

    json_jar_JSON_json.jar_

    5. **操作JSON**:通过API进行增删改查,如`put()`, `get()`, `remove()`等。 6. **错误处理**:处理可能发生的异常,如`JSONException`,确保程序的健壮性。 JSON.jar文件在Java开发中的应用非常广泛,无论是...

    C#像java一样优雅的解析JSON数据

    json.Put("sex", "男"); json.Put("age", 123); json.Put("name", "张三"); JSONArray array = new JSONArray(); array.Put(json); Console.WriteLine(array.GetJSONObject(0).GetString("name")); JSONObject json...

    org.json Jar包

    - JSON字符串与Java对象转换:`JSON.toString()`方法可将Java对象转化为JSON字符串,而`JSON.parseObject()`和`JSON.parseArray()`则能将JSON字符串反序列化为Java对象。 - JSONPath支持:虽然`org.json`库本身不...

    org.json Android

    你可以通过`put()`方法添加键值对,通过`get()`方法获取值,通过`keys()`获取所有键。 2. JSONArray:用于表示JSON数组,它可以包含任意数量的JSONObject或其他类型的数据,如字符串、数字等。使用`put()`方法可以...

Global site tag (gtag.js) - Google Analytics