直接上代码:
//json字符串转成map
public static Map<String, Object> StringToMap(String strInput) {
if (strInput == null) {
return null;
}
JsonNode jsonNode = null;
try {
ObjectMapper objectMapper = new ObjectMapper();
jsonNode = objectMapper.readTree(strInput);//将json字符串转成jsonNode
} catch (IOException ex) {
System.out.println("json数据格式异常");
//Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
return null;
}
return JsonToMap(jsonNode);
}
//jsonNode转成map
public static Map<String, Object> JsonToMap(JsonNode jsonNode) {
if (jsonNode == null) {
return null;
}
Iterator<String> paramsIterator = jsonNode.getFieldNames();//获得一个迭代器 存储jsonNode的所有key
Map<String, Object> map = new HashMap<String, Object>();
while (paramsIterator.hasNext()) {
String paramName = paramsIterator.next();//得到一个key
JsonNode jsonSonNode = jsonNode.get(paramName);
if (jsonSonNode.isInt()) {//如果是int类型数据
map.put(paramName, jsonSonNode.getIntValue());
} else if (jsonSonNode.isLong()) {//如果是long类型数据
map.put(paramName, jsonSonNode.getLongValue());
} else if (jsonSonNode.isTextual()) {//如果是文本
map.put(paramName, jsonSonNode.getValueAsText());
} else if (jsonSonNode.isObject()) {//如果是对象
Map<String, Object> tempMap = JsonToMap(jsonSonNode);//递归调用
if (tempMap != null) {
map.put(paramName, tempMap);
}
} else if (jsonSonNode.isArray()) {//如果是数组
Iterator<JsonNode> nodeIterator = jsonSonNode.getElements();//获取数组里的值
ArrayList<Map<String, Object>> tempMaplist = new ArrayList<Map<String, Object>>();
while (nodeIterator.hasNext()) {
JsonNode tempJsonNode = nodeIterator.next();//得到数组里的一个对象
Map<String, Object> tempM = JsonToMap(tempJsonNode);//递归调用
if (tempM != null) {
tempMaplist.add(tempM);
}
}
map.put(paramName, tempMap);
}
}
return map;
}
分享到:
相关推荐
NULL 博文链接:https://wuniu2010.iteye.com/blog/1771934
java,android map形式和数组list转json字符串 可直接调用
JSON官网上推荐的使用java解析json的类库,官网下载后的是未编译打包的java文件,这是我打包后的东东,使用时直接添加进Build path即可,简单实用……
下面小编就为大家带来一篇将JSON字符串转换成Map对象的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
map转json jsMap转换为JSON 字符串.docx jsMap转换为JSON 字符串.docx
java代码-使用java解决Map转JSON字符串的源代码 ——学习参考资料:仅用于个人学习使用!
接受对象转换为JSON数据格式并且作为字符串输出,map转换json,list转换json
解析JSON字符串成一个MAP、list、object和JAVA的类等转化成JSON语句。包括JSON相关的JAR
该资源主要用于cocos2d-x中Value与json字符串的相互转换,提供从json文件...json字符串转换成cocos::Value后就可以很方便的使用了,其本质就是json字符串的数组对应cocos2d::ValueVector,对象对应cocos2d::ValueMap.
该工具类包括多重的json字符串或Map或List的相互转换,该文件包括主要的jar包,可以快捷的使用工具
多层嵌套json转换为Map再转换为单层 最近在实习的时候,需要将多层嵌套的json转换为单层的json。并且把json进行格式化。... * 使用Gson拍平json字符串,即当有多层json嵌套时,可以把多层的json拍平为一层 * @par
将java对象list或者map转json数据不需要第三方包,直接使用就可以了,如果你传入的数据不确定是map类型还是list类型,那么自己处理一下就可以了(判断下类型,传入参数改为object)。 如果是json数据转成java对象list...
JOSN格式内层都可以转换成map 详细见附件
一 传入Map转换为Json格式方法 二 传入Json格式字符串以Map存储并返回Map格式方法 三 传入Json格式字符串返回List<Map>格式方法等
* 将得到的数据以json格式进行输出,如果对象不存在则输出空字符串 * * @param obj * 要转换成json的对象 */ protected String toJson(Object obj) { String json = ""; if (obj != null) { if (isArray...
4.json字符串转结构体 package main import ( encoding/json fmt reflect ) type User struct { Name string `json:name` Age int `json:age` } func main() { //1、结构体转map user1:=User{} user1.Name=...
bean转json字符串,JSONArray对象转换成list集合,json字符串转换成list集合,JSONObject转换成map对象,json字符串转换成map对象等等各种方法
将json转换为map之后,如果数值类型太多会在转换之后出现科学计数法的问题,经研究jackson源码、网上百度资料得知可以通过设置一些参数解决该问题
最近做一款app,这几天跟后台调试数据通信,网上搜的工具类大多是直接传的Map,我们后台只认得到Json字符串,没办法,自己动手封装了一个工具类,里面只封装了post方法。成功跟后台实现通信,亲测可用,代码里面的...