`

json字符串转成 Map/List

    博客分类:
  • json
阅读更多

 

json所需要的jar包,如有需要,见附件。

 

package jsonToMap;

import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;



/**
 * 说明 json字符串 转成 Map/List
 * @author xss
 * @date 2013-1-18 10:22:41
 * @mail wuniu2010@126.com
 */
public class JsonToMap {

	public static void main(String[] args) {
		
		//JSONArray
		String jsonArrayData="[{\"a1\":\"12\",\"b1\":\"112\",\"c1\":\"132\",\"d1\":\"134\"},{\"a2\":\"12\",\"b2\":\"112\",\"c2\":\"132\",\"d2\":\"134\"},{\"a3\":\"12\",\"b3\":\"112\",\"c3\":\"132\",\"d3\":\"134\"}]";
		JSONArray jsonArray = JSONArray.fromObject(jsonArrayData);

		List<Map<String,Object>> mapListJson = (List)jsonArray;
		for (int i = 0; i < mapListJson.size(); i++) {
			Map<String,Object> obj=mapListJson.get(i);
			
			for(Entry<String,Object> entry : obj.entrySet()){
	            String strkey1 = entry.getKey();
	            Object strval1 = entry.getValue();
	            System.out.println("KEY:"+strkey1+"  -->  Value:"+strval1+"\n");
	        }
		}
		
		
		
		// JSONObject 
		String jsonObjectData="{\"data1\":{\"a1\":\"12\",\"b1\":\"112\",\"c1\":\"132\",\"d1\":\"134\"},\"data2\":{\"a2\":\"12\",\"b2\":\"112\",\"c2\":\"132\",\"d2\":\"134\"},\"data3\":{\"a3\":\"12\",\"b3\":\"112\",\"c3\":\"132\",\"d3\":\"134\"}}";
		JSONObject jsonObject = JSONObject.fromObject(jsonObjectData);
		
		Map<String, Object> mapJson = JSONObject.fromObject(jsonObject);
		
        for(Entry<String,Object> entry : mapJson.entrySet()){
            Object strval1 = entry.getValue();
            JSONObject jsonObjectStrval1 = JSONObject.fromObject(strval1);
            Map<String, Object> mapJsonObjectStrval1 = JSONObject.fromObject(jsonObjectStrval1);
            System.out.println("KEY:"+entry.getKey()+"  -->  Value:"+entry.getValue()+"\n");
            for(Entry<String, Object> entry1:mapJsonObjectStrval1.entrySet()){
            	System.out.println("KEY:"+entry1.getKey()+"  -->  Value:"+entry1.getValue()+"\n");
            }
            
        }
	}

}

 

 

org.json  jar包环境下

import java.util.Iterator;
import java.util.Set;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/**
 * @date 2013-2-1 10:36:22
 * @author xss
 * @说明 org.json jar包环境下 遍历 不知道外层key的json字符串
 */
public class JsonTest {

	public static void main(String[] args) {
		try {
			String json = "{\"1293142@1098820@1211867_1083940_1293396_1148650\":[{\"FS_ID\":\"1293396\",\"SX_MC\":\"李四\",\"YFS_ID\":\"1293142\",\"SZ_ID\":\"1148650\",\"SX_Z\":\"803932\"}],\"1293142@1098820@1211867_1083940_1293396_1097084\":[{\"FS_ID\":\"1293396\",\"SX_MC\":\"李四\",\"YFS_ID\":\"1293142@1084106@1103027\",\"SZ_ID\":\"1097084\",\"SX_Z\":\"124\"}],\"1293142@1098820@1211867_1083940_1293331_1148650\":[{\"FS_ID\":\"1293331\",\"SX_MC\":\"张三\",\"YFS_ID\":\"1293142\",\"SZ_ID\":\"1148650\",\"SX_Z\":\"1005240\"}],\"1293142@1098820@1211867_1083940_1293331_1097084\":[{\"FS_ID\":\"1293331\",\"SX_MC\":\"张三\",\"YFS_ID\":\"1293142@1084106@1103027\",\"SZ_ID\":\"1097084\",\"SX_Z\":\"204\"}],\"1293142@1098820@1211867_1083940_1284806_1148650\":[{\"FS_ID\":\"1284806\",\"SX_MC\":\"王小二\",\"YFS_ID\":\"1293142\",\"SZ_ID\":\"1148650\",\"SX_Z\":\"513475\"}],\"1293142@1098820@1211867_1083940_1284806_1097084\":[{\"FS_ID\":\"1284806\",\"SX_MC\":\"王小二\",\"YFS_ID\":\"1293142@1084106@1103027\",\"SZ_ID\":\"1097084\",\"SX_Z\":\"145\"}],\"1293142@1098820@1211867_1083940_1293461_1148650\":[{\"FS_ID\":\"1293461\",\"SX_MC\":\"朱重八\",\"YFS_ID\":\"1293142\",\"SZ_ID\":\"1148650\",\"SX_Z\":\"339040\"}],\"1293142@1098820@1211867_1083940_1293461_1097084\":[{\"FS_ID\":\"1293461\",\"SX_MC\":\"朱重八\",\"YFS_ID\":\"1293142@1084106@1103027\",\"SZ_ID\":\"1097084\",\"SX_Z\":\"52\"}]}";
			JSONObject jsonObj = new JSONObject(json);

			//方式二
			Iterator it = jsonObj.keys();
			for (int j = 0; it.hasNext(); j++) {
				String str = it.next().toString();
				System.out.println(str);

				JSONArray array = new JSONArray(jsonObj.get(str).toString());
				System.out.println(array);
				for (int i = 0; i < array.length(); i++) {
					JSONObject jons = array.getJSONObject(i);
					System.out.println(jons.get("SX_MC"));
				}
			}
			System.out.println("tep2");
			
			//方式1
			Set<String> set = jsonObj.keySet();
			for (String str : set) {
				System.out.println(str);
				JSONArray array = new JSONArray(jsonObj.get(str).toString());
				System.out.println(array);
				for (int i = 0; i < array.length(); i++) {
					JSONObject jons = array.getJSONObject(i);
					System.out.println(jons.get("SX_MC"));
				}
			}

		} catch (JSONException e) {
			e.printStackTrace();
		}
	}
}

 

 

分享到:
评论
1 楼 wm5920 2015-05-12  

相关推荐

    androidmap转json字符串、list转json字符串工具类.zip

    本压缩包提供了两个关键功能:将Map对象转换为JSON字符串和将List对象转换为JSON字符串。这两个工具类对于Android开发者来说非常实用,因为它们简化了Java对象与JSON格式之间的互换过程。 首先,让我们详细了解Map...

    Java中Json字符串直接转换为对象的方法(包括多层List集合)

    本文将详细介绍如何将JSON字符串直接转换为Java对象,特别是涉及到多层List集合的情况。在本例中,我们将使用`net.sf.json.JSONObject`类来实现这一功能。 首先,确保你的项目中已经引入了必要的库。在使用`...

    json转换为String/List/Map/Bean

    json转换为String/List/Map/Bean

    利用java反射将json字符串转成对象.zip

    在给定的“利用java反射将json字符串转成对象”的主题中,我们将深入探讨如何借助反射机制将JSON字符串转换为Java对象。 首先,我们需要了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人...

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

    实现Object对象与Json字符串的互转"深入探讨了如何使用`JSONObject`来处理这种转换。 首先,我们需要了解`JSONObject`的基本用法。`JSONObject`可以从一个Java对象创建,也可以解析为一个JSON字符串。例如,我们有...

    json_lib使用实例:java对象与json字符串的互转

    1. **JSON字符串转Java对象** 使用`json-lib`,我们可以将JSON字符串解析为JavaBean、HashMap、ArrayList等。例如,假设我们有一个JSON字符串`{"name":"John", "age":30}`,可以这样转换: ```java String json...

    利用Google Gson实现JSON字符串和对象之间相互转换

    反之,如果你有一个JSON字符串并想解析成Java对象,可以使用`Gson().fromJson()`方法。 ### JSON字符串转Java对象 以下是一个简单的例子,展示如何将JSON字符串转换为Java对象: ```java class User { private ...

    json字符串转table字符串

    例如,`json-lib`库提供了`JsonUtil`类,可以将JSON字符串转换为Java集合对象,如List或Map。 2. **转换数据结构**:将解析后的JSON对象或数组转化为适合表格展示的二维数据结构,比如二维数组或List嵌套List。 3....

    Java Web程序实现返回JSON字符串的方法总结

    需要注意的是,在使用 JSONArray 对象时,我们需要将 JavaBean 对象转换为 Map 对象,否则无法正确地将其转换为 JSON 字符串。 为了解决 Java 对象属性为空时返回空字符串的问题,我们可以使用 JSONObject 对象的 ...

    java中解析json字符串

    除了解析JSON字符串到Java对象,这两个库还支持将Java对象转换为JSON字符串,以及解析JSON到Map或List等数据结构。 3. **其他库** 除了Jackson和Gson,还有其他的JSON处理库,如org.json(提供简单的JSON工具类)...

    JAVA-JSON工具转换类

    可能包含的方法有`toJson()`(将Java对象转换为JSON字符串)、`fromJson()`(将JSON字符串解析为Java对象)、`convertToMap()`(将JSON字符串转换为Map)以及`convertToList()`(将JSON字符串转换为List)等。...

    处理Java对象转Json字符串的功能

    接受对象转换为JSON数据格式并且作为字符串输出,map转换json,list转换json

    java转换xml、list、map和json

    "java转换xml、list、map和json" 本文主要讲述了Java中将xml、list、map和json之间的转换的相关知识点。 xml和map之间的转换 在Java中,xml和map之间的转换可以通过使用dom4j库来实现。dom4j是一个Java开源库,...

    下载JSON时候如何拼JSON字符串

    ### 下载JSON时如何拼接JSON字符串 在互联网项目的开发过程中,经常需要处理JSON数据的生成与下载。本文将详细解析一个具体的示例代码,并基于此示例介绍如何正确地构建JSON字符串,以便于后续的数据处理及下载操作...

    json字符串轻松转换成对象

    如果你的JSON字符串包含数组,可以转换为Java的集合类型,如`List`或`Map`。例如,如果你有以下JSON: ```json [ { "name": "John", "age": 30 }, { "name": "Jane", "age": 28 } ] ``` 你可以这样转换: ...

    Java List或Map对象和json字符串数据的相互转化

    将java对象list或者map转json数据不需要第三方包,直接使用就可以了,...如果是json数据转成java对象list或map,则需要一个第三方包org.json.jar,用这个包的好处是只需要导入这一个包就可以了,不需要其它支持的包。

    各种对象转成JSON字符串.pdf

    1. **对象转JSON字符串**: `object2json`方法是整个工具类的核心,它接受一个`Object`类型的参数`obj`,根据`obj`的类型来决定如何将其转换为JSON字符串。如果对象为null,它返回一个空字符串。对于基本数据类型...

    各种对象转成JSON字符串 (2).docx

    `map2json()`方法处理`Map`对象,它将遍历Map的键值对,将键和值分别转换为JSON字符串,然后以冒号分隔,每对之间以逗号隔开,整个Map用花括号包围。这样,Map会转换成JSON对象的形式,如`{"key1": "value1", "key2...

    不用第三方jar的json与object(map、list)互换java类

    在Java中,我们可以创建一个`JSONObject`或`JSONArray`来表示Map或List,并使用其提供的方法如`put()`和`toString()`来构建JSON字符串。例如,对于一个Map,我们可以通过遍历其键值对并逐个添加到`JSONObject`中,...

Global site tag (gtag.js) - Google Analytics