public static void main(String[] args) { String str = "{'TI':[{'value':'aa1','count':10},{'value':'aa2','count':15},{'value':'aa3','count':20}]," + "'AB':[{'value':'ab','count':110},{'value':'ab2','count':115},{'value':'ab3','count':210}]}"; JSONArray newArray = new JSONArray(); JSONObject newJson = new JSONObject(); try { JSONObject obj = new JSONObject(str); Iterator it = obj.keys(); while (it.hasNext()) { String key = (String) it.next(); String value = obj.getString(key); JSONArray array = obj.getJSONArray(key); for(int i=0;i<array.length();i++){ JSONObject jsonobject = array.getJSONObject(i); jsonobject.put("name", key); jsonobject.put("exp", key+"="+jsonobject.getString("value")); newArray.put(jsonobject); } } newJson.put("groups",newArray); System.out.println(newJson); } catch (JSONException e) { e.printStackTrace(); } }
相关推荐
除了`JSONObject`,`org.json`包还提供了其他类,如`JSONArray`用于处理JSON数组,`JSONStringer`和`JSONWriter`用于构建复杂的JSON结构,以及`JSONException`用于捕获处理JSON时可能出现的异常。这些工具类使得...
6. 遍历JSONObject: - 可以通过`keys()`方法获取一个枚举器,然后遍历所有的键。 7. 转换: - `toString()`方法将JSONObject转换为JSON格式的字符串。 - `toMap()`方法将JSONObject转换为Java的Map对象。 8. ...
- **遍历JSON对象**:你可以使用`keys()`方法获取所有键,然后遍历获取值,如`for (String key : jsonObject.keys()) { ... }`。 - **处理数组**:`JSONArray`是`JSONObject`的同胞,它用于处理JSON数组。两者可以...
除了JSONObject,"net.sf.json.JSONArray"是另一个重要的类,它表示JSON数组。JSONArray允许你存储一系列的JSONObject或者其他可序列化的Java对象。你可以通过`add()`方法向数组中添加元素,`get()`方法获取指定索引...
在Java中,处理JSON数据时通常会用到两个主要的库:JSONObject和JSONArray,它们是org.json包下的类。 JSONObject是表示一个JSON对象的类,可以用来创建、读取和修改JSON数据。JSON对象由键值对组成,键总是字符串...
`JSONObject`还提供了很多其他功能,如获取、设置值,遍历键值对等。例如,可以使用`getString()`, `getInt()`, `put()`等方法来操作JSON对象: ```java String name = jsonObject.getString("name"); jsonObject....
`net.sf.json.JSONArray`是开源项目Apache licensed Json-lib的一部分,它提供了对JSON数组的操作支持,如创建、读取、修改和遍历数组。 描述中提到了"JSONObject等",这暗示除了`JSONArray`之外,可能还需要`...
5. 遍历JSONObject:通过`keys()`方法获取迭代器,可以遍历所有键。 ```java for (Iterator<String> iterator = jsonObject.keys(); iterator.hasNext(); ) { String key = iterator.next(); System.out.println...
7. **遍历JSONObject** 可以通过迭代器遍历所有键值对: ```java Iterator<String> keys = jsonObject.keys(); while (keys.hasNext()) { String key = keys.next(); System.out.println(key + ": " + ...
在这个例子中,我们首先创建了一个`JSONArray`,然后使用Stream的`forEach`方法遍历每个`JSONObject`,并将其中的"id"字段拼接到`StringBuffer`中。 ### 第二种遍历方式:传统for循环 传统的for循环是遍历集合的...
5. `keys()`:返回一个迭代器,遍历JSONObject中的所有键。 JSONArray则表示JSON规范中的数组,它可以包含任意数量的JSON值,如字符串、数字、布尔值、null、其他JSONObject或JSONArray。在JSONLIB中,我们有以下...
5. 遍历JSONObject - `keys()`方法返回一个`Iterator`,可以用来遍历`JSONObject`的所有键。 - `names()`方法返回一个`JSONArray`,包含`JSONObject`中的所有键。 6. 转换为其他数据类型 - `toString()`:将`...
使用ObjectMapper可以轻松地将JSON数据转换为Java对象,而org.json库的JSONArray和JSONObject类则提供了处理JSON数组和对象的方法。在实际应用过程中,需要根据具体的数据结构和需求来选择合适的方法,并注意异常...
与JSONObject不同,JSONArray还可以直接遍历,就像Java的ArrayList一样。 **JSONException**: JSONException是当解析、序列化或构造JSON时遇到错误时抛出的异常。这通常发生在尝试访问不存在的键,或者JSON数据...
遍历JSONObject可以通过keys()方法获取一个迭代器,然后使用hasNext和next方法来依次访问每个键,再调用get方法获取对应的值。这是遍历JSON对象的标准做法。 此外,提到的Java List接口是Java集合框架的一部分,它...
在Java编程中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据传输。...在开发过程中,还可以利用JSON库提供的其他类,如`JSONArray`,以处理JSON数组类型的数据。
4. **使用示例**: 创建和操作`JsonObject`和`JsonArray`的实例,通常涉及到解析JSON字符串、获取/设置属性值、遍历数组等操作: ```java // 创建JsonObject并添加属性 JsonObject obj = new JsonObject(); obj.add...
而处理JSONObject和JSONArray时,需要注意的是,遍历JSONObject时使用的是keys()方法获取键的迭代器,遍历JSONArray时使用的是普通的迭代器。 最后,代码示例展示了JSONObject和JSONArray在真实环境下的应用,如...
在处理JSON数据时,我们经常使用两个核心类:`JSONObject`和`JSONArray`,它们是来自org.json库的类。这个库提供了方便的方式来操作JSON数据,包括创建、读取和修改JSON对象。 **JSONObject创建方法** 1. **从Map...