百度
360搜索
搜狗搜索

jsonobject转map的方法,android怎么把json转换为hashmap详细介绍

本文目录一览: “JsonObject”如何转成“Map”?

首先,你先确认你的字符串是否是json格式的,如果是json格式,那你可以使用Gson.jar或json-lib-xx-jdk.jar两个包来自动解析解析。
使用Gson更简单些,只需要导入一个包就可以,但是他如果使用Object解析到int型的话或自动转成double型,需要定义一个准确的类来解析,不能直接使用Object。示例:
Gson gson = new Gson();
Map

map = new HashMap

();

map = gson.fromJson(str, map.getClass());

GSON.jar包的下载地址:http://grepcode.com/snapshot/repo1.maven.org/maven2/com.google.code.gson/gson/2.2.4

使用json-lib包的话需要导入更多的包,需要额外导入commons-lang.jar、ezmorph-1.0.4.jar、commons-logging-1.1.1.jar、commons-collections.jar、commons-beanutils.jar这5个包。解析示例如下:

JSONObject jb = JSONObject.fromObject(str);

Map

map = (Map

)jb;

如果你的字符串不是json格式,那你就需要自己使用split分割字符串,例如:

String str = "color:red|font:yahei|width:800|height:300";

String[] strs = str.split("\\|");

Map

m = new HashMap

();

for(String s:strs){

String[] ms = s.split(":");

m.put(ms[0], ms[1]);

}

JSONObject json = JSONObejct.fromObject(map)

上面的方法转出来的结果为map的key.toString()和value.toString() 的结果对。

SomeClass 是你的自定义类,你没有重写toString方法,默认调用的是Object类的toString方法。

你重写下SomeClass 的toString方法,输出你想要的结果,然后,转出来的JSON就不再是内存地址了

json字符串怎样转换成map

例子如下:
package com.zkn.newlearn.json;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import java.util.Map;
/**
* JSON字符串自动转换
* Created by zkn on 2016/8/22.
*/
public class JsonToMapTest01 {
public static void main(String[] args){
String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";
//第一种方式
Map maps = (Map)JSON.parse(str);
System.out.println("这个是用JSON类来解析JSON字符串!!!");
for (Object map : maps.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" " + ((Map.Entry)map).getValue());
}
//第二种方式
Map mapTypes = JSON.parseObject(str);
System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!");
for (Object obj : mapTypes.keySet()){
System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj));
}
//第三种方式
Map mapType = JSON.parseObject(str,Map.class);
System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");
for (Object obj : mapType.keySet()){
System.out.println("key为:"+obj+"值为:"+mapType.get(obj));
}
//第四种方式
/**
* JSONObject是Map接口的一个实现类
*/
Map json = (Map) JSONObject.parse(str);
System.out.println("这个是用JSONObject类的parse方法来解析JSON字符串!!!");
for (Object map : json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue());
}
//第五种方式
/**
* JSONObject是Map接口的一个实现类
*/
JSONObject jsonObject = JSONObject.parseObject(str);
System.out.println("这个是用JSONObject的parseObject方法来解析JSON字符串!!!");
for (Object map : json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue());
}
//第六种方式
/**
* JSONObject是Map接口的一个实现类
*/
Map mapObj = JSONObject.parseObject(str,Map.class);
System.out.println("这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!");
for (Object map: json.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue());
}
String strArr = "{{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}," +
"{\"00\":\"zhangsan\",\"11\":\"lisi\",\"22\":\"wangwu\",\"33\":\"maliu\"}}";
// JSONArray.parse()
System.out.println(json);
}
}

java怎么将json文件读取进来并转成map

json是键值对的形式这点和hashmap很想,第一,先把json解析出来其实就是得到值得过程,然后把你的值自己弄一个键存在hashmap里面,其实很简单就是一个解析和存储到map里面的过程,又不懂得可以问我。最后提醒一点从网络上接受的字符串有肯能前面有影藏的东西,解析可能会报错,而且不同的jar包也会有不同
用JSONUtil.deserialize()就可以了,范例:
import org.apache.struts2.json.JSONUtil;public class JsonToJava { public static void main(String[] args) { try { String s = JSONObject.toString(); Object o = JSONUtil.deserialize(s); Object o1 = ((HashMap)o).get("DATA");//此举将DATA作为对象,得到。 Map map = (Map)o1;//然后强转o1 } catch (Exception e) { e.printStackTrace(System.out); } }}
你需要将json数据解析出来,然后根据数据类型,把数据放入map中
JsonObject 一个Google、的 将json转换为对象的包
java中解析json文件,需要下载json解析包,用JSONUtil.deserialize()就可以了,范例:
import org.apache.struts2.json.JSONUtil; public class JsonToJava { public static void main(String[] args) { try { String s = JSONObject.toString(); Object o = JSONUtil.deserialize(s); Object o1 = ((HashMap)o).get("DATA");//此举将DATA作为对象,得到。 Map map = (Map)o1;//然后强转o1 } catch (Exception e) { e.printStackTrace(System.out); } }}

json怎么转换成Map并遍历

把map转成json的步骤:
1、需要一些jar包:json-lib-2.4-jdk15.jar、ezmorph-1.0.6.jar、commons-logging.jar、commons-lang.jar、commons-collections.jar、commons-beanutils.jar。
2、把Map转换成json, 要使用jsonObject对象:
Map

map = new HashMap

();

map.put("userId", 1001);

map.put("userName", "张三");

map.put("userSex", "男");

JSONObject jsonObject = JSONObject.fromObject(map);

System.out.println(jsonObject);

Java 将一个String 形式的json转化成Map,比如"{\"a\":\"1\",\"b\

hashmap是以键值对(key-value)的格式保存对象的容器, 数组是按顺序一个一个保存对象的容器 你把hashmap转换成数组是想把key转成数组呢还是把value转成数组呢或者key和value组合成的对象转换成数组呢.我把key和value的分别写出来,组合对象的同理...
将一个String 形式的json转化成Map的Java程序如下:
import java.util.HashMap;import java.util.Iterator;import java.util.Map;import org.json.JSONObject;public class FFF { public static void main(String[] args) { String s="{\"a\":\"1\",\"b\":2,\"c\":\"2016-5\"}"; JSONObject jso=new JSONObject(s); Map

阅读更多 >>>  json解析异常,A JSONObject text must begin with '{' at 1 [character 2 line 1]为什么会出现这样的异常

m=new HashMap

(); Iterator it = jso.keys(); while (it.hasNext()) { String key = (String) it.next(); Object value = jso.get(key); m.put(key, value); } System.out.println(m.toString()); }}运行结果:

{a=1, b=2, c=2016-5}

android怎么把json转换为hashmap

在升级QQ登录到OAuth2.0时,其返回的是一个json形式的字符串,将其转换成Map
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();

Gson gson = new Gson();
String json 如下;
{ "ret":0, "msg":"", "nickname":"xxx", "figureurl":"http://qzapp.qlogo.cn/qzapp/100226195/C399C7B2880641627CED3EEF9DEB8E30/30", "figureurl_1":"http://qzapp.qlogo.cn/qzapp/100226195/C399C7B2880641627CED3EEF9DEB8E30/50", "figureurl_2":"http://qzapp.qlogo.cn/qzapp/100226195/C399C7B2880641627CED3EEF9DEB8E30/100", "gender":"xxx", "vip":"0", "level":"0", "is_yellow_year_vip":"0" }
Map infoMap = gson.fromJson(json, new TypeToken
<map
>(){}.getType());

在android中把json转换为hashmap,代码如下:

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

import net.sf.json.JSONArray;

import net.sf.json.JSONException;

import net.sf.json.JSONObject;

import com.wideyou.model.ExpressOrder;

import com.wideyou.warehouse.model.Storage;

public class HelperFunction {

public ExpressOrder ExpressOrderClassCast(JSONObject reserJson){

ExpressOrder expressOrder=new ExpressOrder();

expressOrder.setCid(Integer.parseInt(reserJson.getString("userId")));

expressOrder.setSendPerson(reserJson.getString("sendPerson"));

expressOrder.setSendPhone(reserJson.getString("sendPhone"));

expressOrder.setSendAddress(reserJson.getString("sendAddress"));

expressOrder.setBeginAddress(reserJson.getString("beginAddress"));

expressOrder.setOtherDes(reserJson.getString("otherDes"));

expressOrder.setEndAddress(reserJson.getString("endAddress"));

expressOrder.setReservPerson(reserJson.getString("reservPerson"));

expressOrder.setReservPhone(reserJson.getString("reservPhone"));

expressOrder.setReservAddress(reserJson.getString("reservAddress"));

expressOrder.setPostCode(reserJson.getString("reservAddress"));

expressOrder.setPayId(Integer.parseInt(reserJson.getString("payId")));

return expressOrder;

}

public Storage StorageClassCast(JSONObject reserJson){

Storage storage=new Storage();

storage.setSname(reserJson.getString("sname"));

storage.setCount(Integer.parseInt(reserJson.getString("count")));

return storage;

}

public static int getCid(JSONObject reserJson, boolean isConsumer){

if(isConsumer){

return Integer.parseInt(reserJson.getString("userId"));

}else{

return Integer.parseInt(reserJson.getString("memberId"));

}

}

//map转换为json字符串

public static String hashMapToJson(HashMap map) {

String string = "{";

for (Iterator it = map.entrySet().iterator(); it.hasNext();) {

Entry e = (Entry) it.next();

string += "'" + e.getKey() + "':";

string += "'" + e.getValue() + "',";

}

string = string.substring(0, string.lastIndexOf(","));

string += "}";

return string;

}

public static void JsonObject2HashMap(JSONObject jo, List> rstList) {

for (Iterator keys = jo.keys(); keys.hasNext();) {

try {

String key1 = keys.next();

System.out.println("key1---" + key1 + "------" + jo.get(key1)

+ (jo.get(key1) instanceof JSONObject) + jo.get(key1)

+ (jo.get(key1) instanceof JSONArray));

if (jo.get(key1) instanceof JSONObject) {

JsonObject2HashMap((JSONObject) jo.get(key1), rstList);

continue;

}

if (jo.get(key1) instanceof JSONArray) {

JsonArray2HashMap((JSONArray) jo.get(key1), rstList);

continue;

}

System.out.println("key1:" + key1 + "----------jo.get(key1):"

+ jo.get(key1));

json2HashMap(key1, jo.get(key1), rstList);

} catch (JSONException e) {

e.printStackTrace();

}

}

}

public static void JsonArray2HashMap(JSONArray joArr,

List> rstList) {

for (int i = 0; i < joArr.size(); i++) {

try {

if (joArr.get(i) instanceof JSONObject) {

JsonObject2HashMap((JSONObject) joArr.get(i), rstList);

continue;

}

if (joArr.get(i) instanceof JSONArray) {

JsonArray2HashMap((JSONArray) joArr.get(i), rstList);

continue;

}

System.out.println("Excepton~~~~~");

} catch (JSONException e) {

e.printStackTrace();

}

}

}

public static void json2HashMap(String key, Object value,

List> rstList) {

HashMap map = new HashMap();

map.put(key, value);

rstList.add(map);

}

}
</map

阅读更多 >>>  json格式检查,json解析错误,怎么处理呢?

java将 json数组转map

首先你的 [{"key":"1"},{"key":"2"}] 是个 json 数组格式
如果是简单的json 格式, 比如 "{\"key1\":\"1\",\"key2\":\"2\"}"
那么你可以使用 下面的示例:
public static void main(String[] args){ String jsonString = "{\"key1\":\"1\",\"key2\":\"2\"}"; //String str = "[{\"key1\":\"1\"},{\"key2\":\"2\"}]"; Map

map = toMap(jsonString); for (Map.Entry

entry : map.entrySet()){ String key = entry.getKey(); Object value = entry.getValue(); System.out.println(key + ":" + value); } } @SuppressWarnings("unchecked") public static

Map

toMap(String json){ Map

map = new HashMap

(); JSONObject jsonObject = JSONObject.fromObject(json, new JsonConfig()); Iterator

keys = jsonObject.keys(); while (keys.hasNext()){ String key = keys.next(); Object value = jsonObject.get(key); map.put(key, (T) value); } return map; }

执行结果:

你这种数组格式, 转成 map 那么 同名的key 会覆盖的....

java String转json,String转Map,Json转Map

用google的Gson类可以转换成Map类型,需要下载gson-2.3.1.jar,并且包含到你的build Path中,完整的Java程序如下
import java.util.HashMap;import java.util.Map;import com.google.gson.Gson;public class H { public static void main(String[] args) { String data = "{timestamp=1380099, body={\"name\":\"\u6d4b\u8bd5\u5546\u6237\",\"shop_id\":\"123456\"}, cmd=order.list, source=65504, ticket=C34A0D20-45EC-9C26-CAB8-3DA309213671, encrypt=des.v1, secret=123138004534, fields=a|b, version=3.0}"; Gson gson = new Gson(); Map

map = new HashMap

(); map = gson.fromJson(data, map.getClass()); for (Map.Entry

entry : map.entrySet()) { System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } }}运行结果Key = ticket, Value = C34A0D20-45EC-9C26-CAB8-3DA309213671Key = encrypt, Value = des.v1Key = cmd, Value = order.listKey = source, Value = 65504.0Key = secret, Value = 1.23138004528E17Key = body, Value = {name=测试商户, shop_id=123456}Key = fields, Value = a|bKey = version, Value = 3.0Key = timestamp, Value = 1.493114544899E12

java中从服务器上获取的json字符串,怎么存map(integer object)中

如果使用的
net.sf.json
包,可以先用 JSONObject.fromJson(String)转成jsonobject对象,然后使用toBean方法转成map,或者用get去一个个的取。
如果用的jackson包,
private static ObjectMapper mapper = new ObjectMapper();
mapper.readValue(json, Map.class);
那要看你的json数据是什么要的格式,比如javabean实体中包含实体的转换
JSONObject jsonObject = JSONObject.fromObject("你的json数据");
Map

classMap = new HashMap

();

/*如:{"validateMessagesShowId":"_validatorMessage","status":true,"httpstatus":200,"data":{"otherMsg":"","loginCheck":"Y"},"messages":[],"validateMessages":{}}

*/

classMap.put("validateMessages", 你的Javabean实体.class);

classMap.put("data", "你的javabean实体名称.class");

\\ MessagesShow 实体包含 你的javabean实体

/*

public class MessagesShow {

private String validateMessagesShowId;

private boolean status;

private String httpstatus;

private List

messages;

private ValidateMessages validateMessages;

private MessagesData data ;

//set 和 get 方法

}

*/

MessagesShow messages =(MessagesShow) JSONObject.toBean(jsonObject, MessagesShow.class, classMap);

网站数据信息

"jsonobject转map的方法,android怎么把json转换为hashmap"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:jsonobject转map的方法,android怎么把json转换为hashmap的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!