`
菜鸟级JAVA
  • 浏览: 96250 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

json字符串转map格式

    博客分类:
  • json
阅读更多
直接上代码:
//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;
    }
分享到:
评论

相关推荐

    json字符串转成 Map/List

    在Java中,将JSON字符串转换为Map或List是常见的操作,这在处理服务器返回的数据或者进行数据序列化时非常有用。 JSON字符串的结构主要包括对象(键值对的集合,用花括号{}包围)和数组(有序元素的集合,用方括号...

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

    首先,让我们详细了解Map对象转JSON字符串。Map是一种键值对的数据结构,它允许我们通过一个键(key)来访问对应的值(value)。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于存储和传输...

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

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

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

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

    C++解析json字符串

    7. **序列化与反序列化**:除了解析JSON字符串,C++还可以将C++对象序列化为JSON格式,这在数据存储或网络传输中非常有用。例如,`j.dump()`可以将JSON对象转换为字符串。 8. **自定义类型与JSON**:nlohmann/json...

    将JSON字符串转换成Map对象的方法

    首先,要了解的是,JSON字符串是文本格式,而Map是Java中的接口,表示键值对的集合。因此,将JSON字符串转换为Map对象的过程实质上是字符串解析的过程。这一过程需要使用到专门处理JSON的库,如org.json,或者更常用...

    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对象 以下是一个简单的例子,展示如何将JSON字符串转换为Java对象: ```java class User { private String name; private int age; // getters and setters... } String jsonString = "{...

    JAVA-JSON工具转换类

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

    json字符串转table字符串

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

    使用java解析json格式的字符串

    JSON官网上推荐的使用java解析json的类库,官网下载后的是未编译打包的java文件,这是我打包后的东东,使用时直接添加进Build path即可,简单实用……

    json 转换为map

    Gson库提供了一个`Gson.fromJson()`方法,能够将JSON字符串解析成一个Map对象。这个过程涉及以下几个步骤: 1. **创建Gson对象**:首先,我们需要创建一个`Gson`实例,这是整个转换的核心。 ```java Gson gson = ...

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

    随着 JSON 数据交换格式的广泛应用,Java Web 程序员需要学习如何将 Java 对象转换为 JSON 字符串。在本文中,我们将总结 Java Web 程序实现返回 JSON 字符串的方法,并介绍一种简单易用的 JSON 库。 Java 中的 ...

    java中解析json字符串

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

    java转json串的几种方法

    如果你已经有了一个Map对象,你可以创建一个`JSONObject`,然后使用`toJSONString()`方法将其转换为JSON字符串。例如: ```java Map, Object&gt; map = new HashMap(); map.put("name", "张三"); map.put("age", ...

    jsMap转换为JSON 字符串.docx

    本文将详细探讨如何将Map转换为JSON字符串。 首先,让我们理解一下JSON.stringify()方法。这个方法是JavaScript内置的,用于将JavaScript值(包括对象和数组)转换为JSON字符串。其基本语法如下: ```javascript ...

    java代码-使用java解决Map转JSON字符串的源代码

    java代码-使用java解决Map转JSON字符串的源代码 ——学习参考资料:仅用于个人学习使用!

    jackson json 转 map 数值科学计数法的问题解决.docx

    例如,在将 JSON 字符串转换为 Map 时,如果 JSON 中包含一个非常大的数字,例如 12345678901234567890,这个数字在 Java 中可能会被表示为科学计数法的形式,例如 1.2345678901234567E22。这可能会导致数据的精度...

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

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

Global site tag (gtag.js) - Google Analytics