`
qq123zhz
  • 浏览: 536340 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

json转为Map

    博客分类:
  • java
 
阅读更多
package digu.pendant.util;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

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

public class PandantTools {

   
    public static List<Map<String, Object>> parseJSON2List(String jsonStr){
        JSONArray jsonArr = JSONArray.fromObject(jsonStr);
        List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
        Iterator<JSONObject> it = jsonArr.iterator();
        while(it.hasNext()){
            JSONObject json2 = it.next();
            list.add(parseJSON2Map(json2.toString()));
        }
        return list;
    }
    
   
    public static Map<String, Object> parseJSON2Map(String jsonStr){
        Map<String, Object> map = new HashMap<String, Object>();
        //最外层解析
        JSONObject json = JSONObject.fromObject(jsonStr);
        for(Object k : json.keySet()){
            Object v = json.get(k); 
            //如果内层还是数组的话,继续解析
            if(v instanceof JSONArray){
                List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
                Iterator<JSONObject> it = ((JSONArray)v).iterator();
                while(it.hasNext()){
                    JSONObject json2 = it.next();
                    list.add(parseJSON2Map(json2.toString()));
                }
                map.put(k.toString(), list);
            } else {
                map.put(k.toString(), v);
            }
        }
        return map;
    }
    
   
    public static List<Map<String, Object>> getListByUrl(String url){
        try {
            //通过HTTP获取JSON数据
            InputStream in = new URL(url).openStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            StringBuilder sb = new StringBuilder();
            String line;
            while((line=reader.readLine())!=null){
                sb.append(line);
            }
            return parseJSON2List(sb.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    
   
    public static Map<String, Object> getMapByUrl(String url){
        try {
            //通过HTTP获取JSON数据
            InputStream in = new URL(url).openStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            StringBuilder sb = new StringBuilder();
            String line;
            while((line=reader.readLine())!=null){
                sb.append(line);
            }
            return parseJSON2Map(sb.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    
    
    //test
    public static void main(String[] args) {
        String url = "http://...";
        List<Map<String,Object>> list = getListByUrl(url);
        System.out.println(list);
    }
}

 

分享到:
评论
2 楼 qq123zhz 2015-07-24  
这个很久了,不记得啥时候写的了
1 楼 helong0904 2015-06-15  
哥们,你这个工具类各种问题,我们的同事就是把你的代码复制过来直接使用,把我这接手的人坑死了。建议你删除这个文章

相关推荐

    json 转为map 适合java

    json 转换为 map 在 Java 中的实现 json(JavaScript Object Notation)是一种轻量级的数据交换格式,它广泛应用于 web 开发、移动应用开发和微服务架构中。Java 是一种流行的编程语言,广泛应用于企业级应用开发、...

    json字符串转成 Map/List

    Map, Object&gt; map = gson.fromJson(jsonString, Map.class); ``` 转换成List则需要指定List元素类型: ```java import com.google.gson.Gson; import java.util.List; String jsonString = "[{\"key\":\...

    对象转换成JSON和Map

    "对象转换成JSON和Map"是一个核心话题,特别是在Java编程语言中,因为JSON(JavaScript Object Notation)是网络通信中广泛使用的轻量级数据交换格式,而Map则是一种通用的数据结构,用于存储键值对。下面我们将深入...

    json和map互转jackson和json-lib两种方式实现和区别

    在Java中,我们经常需要将JSON字符串与Map对象互相转换,以便处理数据。本篇文章将详细探讨使用Jackson库和json-lib库这两种流行的方式进行转换,并分析它们之间的差异。 **一、Jackson库** Jackson是Java开发的高...

    json工具类,json转对象转map对象转json

    json工具类,json转为对象,json转map。对象转json。便于使用

    json转为list 涉及 java springboot

    list.add(parseJSON2Map(json2.toString())); } ``` 最后,该方法将 List 返回: ```java return list; ``` 结论 在本文中,我们详细介绍了如何使用 Java 和 Spring Boot 将 JSON 转换为 List。我们首先讨论了 ...

    Java 把json对象转成map键值对的方法

    在Java中,将JSON对象转换为Map键值对是一种常见的数据处理方式。在本篇文章中,我们将学习如何利用Java代码将一个JSON字符串转换成一个Map对象,同时仅保留叶节点的数据。为了实现这个功能,本文使用了org.json库来...

    json2Map:多层json转换为Map再转换为单层json

    多层嵌套json转换为Map再转换为单层 最近在实习的时候,需要将多层嵌套的json转换为单层的json。并且把json进行格式化。于是参照网上的网上的方法使用谷歌的gson利用递归的实现了多层json转换为单层的json。如 {...

    Jackson将json string转为Object,org.json读取json数组的实例

    描述中提到了一个实例,也就是使用Jackson库将JSON字符串转换为Java对象(Map),然后使用org.json库读取JSON数组。实例中说明了遇到的困难,即在使用Map读取第一级数据之后,尝试读取数组中的特定值时遇到了问题,...

    Map转JSON的jar包

    在这个场景中,我们关注的是"Map转JSON"和"mapתJSON"这两个文件名,它们可能指的是包含这些转换功能的jar包。通常,这些库的jar包会包含一系列类和方法,用于将Java对象(如Map)转换为JSON字符串,反之亦然。 1. ...

    开发中复杂Json解析(LinkedTreeMap)

    1,先将接口返回的JSON,用gson.tojson(map)方法,将LinkedTreeMap对象转成String。 2,再通过gson.fromjson(string,type)方法,将String转成LinkedTreeMap。用到了Type type=new TypeToken(){}.getType; 3,再将...

    java对象List,Map转json格式

    6. **反序列化**: 除了将Java对象转为JSON,Jackson还支持将JSON反序列化回Java对象: ```java YourClass yourObject = mapper.readValue(jsonString, YourClass.class); ``` 7. **Ajax交互**: AJAX...

    Golang的 Json string和Map互相转换

    在存储的时候想把数据列表存储成json string,但是在代码使用的时候又觉得用map更快更方便。这个时候就需要相互转换,下面是一个转换的例子。 // Test for json and map converting package main import ( ...

    json与bean,array,list,map,简单类型之间的封装、解析

    // 将User对象转为JSON字符串 User deserializedUser = gson.fromJson(jsonString, User.class); // 将JSON字符串转回User对象 ``` 其次,我们讨论JSON与Array之间的操作。当需要处理数组时,Gson同样提供了方便...

    首字母大写的json串转为javabean实例

    标题中的“首字母大写的json串转为javabean实例”意味着我们需要处理JSON字符串中属性名首字母大写的情况。在Java中,通常遵循驼峰命名法(Camel Case),即每个单词的首字母大写,而JSON标准则通常使用下划线命名法...

    使用jackson完成json与java对象的互相转换实例

    除了基本类型和简单对象,Jackson还支持复杂类型的转换,如集合、Map以及自定义类型映射。 3. **注解驱动的序列化与反序列化** Jackson提供了丰富的注解,如`@JsonProperty`、`@JsonIgnore`、`@JsonInclude`等,...

    JAVA-JSON工具转换类

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

    利用gson将map转为json示例

    在这个示例中,我们将重点讲解如何使用Gson将Map对象转换为JSON字符串。 首先,确保你的项目已经正确地引入了Gson库。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

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

    页面向后台action传递一个json字符串,需要将json字符串转换成Map对象 public Map&lt;String&gt; toMap(Object object) { Map&lt;String&gt; data = new HashMap(); // 将json字符串转换成jsonObject JSONObject jsonObject...

    json转表格html

    1. **解析JSON**:使用JSON库,如JavaScript的`JSON.parse()`或Java的`org.json`库,将JSON字符串解析成数据结构,如JavaScript对象或Java的Map对象。 2. **数据预处理**:如果JSON包含复杂结构,例如嵌套数组或...

Global site tag (gtag.js) - Google Analytics