包含多项键值对的字符串怎么转成 List<Map<string,String>。
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。
*/
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");。
java首先导入以下一个包
json-lib-2.3-jdk15.jar。
commons-beanutils-1.7.0.jar。
commons-httpclient-3.1.jar。
commons-lang-2.3.jar。
commons-logging-1.0.4.jar。
commons-collections-3.1.jar。
ezmorph-1.0.3
String dataStr = "{\"resultcode\":\"200\",.......}";。
JSONObject json = JSONObject.fromObject(dataStr );。
String resultcode = json.get('resultcode');。
就是这样获取的;
String result = json.get('resultcode');。
JSONObject resultJson = JSONObject.fromObject(result );。
嵌套的json必须在重新解析
去了解下 JSON的相关api吧。
包含多项键值对的字符串怎么转成 List<Map<string,String>。
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。
*/
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);。
1、使用fastJson 将String转 map:
String out;
Object succesResponse = JSON.parse(out); //先转换成Object。
Map map = (Map)succesResponse; //Object强转换为Map。
2、String 转 java 对象。
fastjson 应用 string字符串转换成java对象或者对象数组。
代码如下