关于Java中Json的各种处理

目录
  • Java Json的各种处理
    • 一、net.sf.json
    • 二、com.alibaba.fastjson
  • Java常用json处理

Java Json的各种处理

一、net.sf.json

1、Json转Map

JSONObject jsonObject = JSONObject.fromObject(jsonStr);
Map<String,Object> map = new HashMap<>();
map.put("code",jsonObject .getInt("code"));

2、Json转实体

JSONObject jsonObject = JSONObject.fromObject(jsonStr);
ArticleForm articleForm = (ArticleForm) JSONObject.toBean(jsonObject , ArticleForm.class);

如果实体中带有List字段,需要指定泛型

Map<String, Class> classMap = new HashMap<String, Class>();
classMap.put("keywords", String.class);
ArticleForm articleForm = (ArticleForm) JSONObject.toBean(data.getJSONObject(i), ArticleForm.class,classMap);

3、Json转集合

List<ArticleForm> list = new ArrayList<>();
JSONArray data = jsonObject.getJSONArray("data");
if (errorCode == 0 && data != null && !data.isEmpty()) {
    for (int i = 0; i < data.size(); i++) {
        Map<String, Class> classMap = new HashMap<String, Class>();
        classMap.put("keywords", String.class);
        ArticleForm articleForm = (ArticleForm) JSONObject.toBean(data.getJSONObject(i), ArticleForm.class,classMap);
        list.add(articleForm);
    }
}

另外一种:

List<ArticleForm> list = new ArrayList<>();
JSONArray data = jsonObject.getJSONArray("data");
if (errorCode == 0 && data != null && !data.isEmpty()) {
    Map<String, Class> classMap = new HashMap<String, Class>();
    classMap.put("keywords", String.class);
    list  = (List<ArticleForm>) JSONArray.toArray(data, ArticleForm.class,classMap);
}

二、com.alibaba.fastjson

1、Json转Map

JSONObject jsonObject = JSON.parseObject(jsonStr);
Map<String,Object> map = new HashMap<>();
map.put("code",jsonObject .getInt("code"));

2、Json转实体

ArticleForm articleForm = JSON.parseObject(jsonStr, new TypeReference<ArticleForm>() {});

3、Json转集合

List<ArticleForm> list = JSON.parseObject(jsonStr,new TypeReference<ArrayList<ArticleForm>>() {});

Java常用json处理

// String和json的互相转换
        String str = "{\"status\":200,\"message\":\"\",\"data\":{\"KmList\":[\"总分\",\"语文\",\"数学\",\"英语\",\"道德与法治\",\"科学基础\"]}}";
        System.out.println("str:"+str);
//        JSONArray arrays = JSON.parseArray(str);        // string转jsonArray
        JSONObject jsonObject = JSON.parseObject(str);    // string转jsonObject
        System.out.println("jsonObject:"+jsonObject);
        String s = jsonObject.toJSONString();             // json(object和Array相同)转string

        // json转list<Object>或者object
        String str1 = "[\"总分\",\"语文\",\"数学\",\"英语\",\"道德与法治\",\"科学基础\"]";
        List<String> list = JSON.parseArray(str1, String.class); // json转list集合,将String.class改成其他对象.class即可
        System.out.println("list:"+JSON.toJSONString(list));
        String s1 = JSON.parseObject(JSON.toJSONString("语文"), String.class);       // json转对象,将String.class改成其他对象.class即可
        System.out.println("s1:"+s1);
        // object转字符串后即可转jsonObject或者jsonArray

        // json和map
        Map<String, Object> map = new HashMap<>();
        map.put("xAxis","11");
        map.put("yAxis","2222");
        String json = JSON.toJSONString(map);//map转String
        System.out.println("json:"+json);
        Map<String, Object>  map1 = JSON.parseObject(json, Map.class);     // 转List<Map> parserArray即可
        System.out.println("map1:"+map1);

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 关于json序列化(javaBean转Json的细节处理)

    目录 json序列化(javaBean转Json的细节) 三种常见的jsonjar序列化 fastjson Jackson Gson json序列化的处理 还是要从最基础的说起 正如上面所说的 json序列化(javaBean转Json的细节) Java对象在转json的时候,如果对象里面有属性值为null的话,那么在json序列化的时候要不要序列出来呢?对比以下json转换方式 三种常见的json jar序列化 fastjson 阿里巴巴提供的fastjson,当用json转换实体类时 --无

  • Java读取本地json文件及相应处理方法

    如下所示: //读取json文件地址 /* String path = getClass().getClassLoader().getResource("menu.json").toString(); path = path.replace("\\", "/"); if (path.contains(":")) { path = path.replace("file:/", ""); }

  • java Long类型转为json后数据损失精度的处理方式

    目录 数据库表结构设计 AbumTip类 根据外键abum_id在数据库中查询的结果 Controller查到的结果 chrome浏览器preview结果 解决的方法 方法一 方法二 方法三 最近在项目开发中,使用spring boot+mybatis的架构,数据库设计主键id时定义为bigint类型,使用mybatis的自动生成代码后没注意,主键在pojo里的类型为Long.查询时获取的对象列表取出的数值没有问题,但转为json传到前端后,id的数据始终不是数据库查出来的那个. 数据库表结构设

  • Java如何处理json字符串value多余双引号

    一.错误场景 json字符串的value值中有多余的双引号. 错误的json字符串 二.处理方案 自己写个方法将value值中多余的双引号替换为 中文双引号: // 处理json字符串中value多余的双引号, 将多余的双引号替换为中文双引号 private static String toJsonString(String s) { char[] tempArr = s.toCharArray(); int tempLength = tempArr.length; for (int i = 0

  • Java后台返回和处理JSon数据的方法步骤

    1.下载JsonObject相关jar包 在这里,我们使用JsonObject来将Java类型数据转换成Json类型,首先要下载该库相关的jar包,下载地址如下: https://www.jb51.net/softs/615024.html 2.JsonObject的使用代码示例 JSONObject jsonObject = new JSONObject(); //创建Json对象 jsonObject.put("username", "张三"); //设置Jso

  • Java中JSON字符串与java对象的互换实例详解

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式, JSON可以有两种格式,一种是对象格式的,另一种是数组对象, {"name":"JSON","address":"北京市西城区","age":25}//JSON的对象格式的字符串 [

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

    使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar 下面是例子代码: // JSON转换 JSONObject jsonObj = JSONObject.fromObject(jsonStr

  • Java中Json解析的方法分析

    本文实例讲述了Java中Json解析的方法.分享给大家供大家参考,具体如下: 首先准备一个JSON格式的字符串 * String JsonStr = "{object:{persons:" + "[{name:'呵呵',image:'http://10.0.159.132:8080/Web/s1.png'}," + "{name:'哈哈',image:'http://10.0.159.132:8080/Web/s1.png'}," + "

  • Java中JSON处理工具类使用详解

    本文实例为大家分享了JSON处理工具类的具体代码,供大家参考,具体内容如下 import java.io.IOException; import java.util.Date; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.seri

  • 浅谈在Java中JSON的多种使用方式

    1. 常用的JSON转换 JSONObject 转 JSON 字符串 JSONObject json = new JSONObject(); jsonObject.put("name", "test"); String str = JSONObject.toJSONString(json); JSON字符串转JSON String str = "{\"name\":\"test\"}"; JSONObjec

  • 详解Java中JSON数据的生成与解析

    一.什么是JSON JSON: JavaScript Object Notation JS对象简谱,是一种类似于XML的语言.相比于XML,它更小.更快.更易解析.主要用于项目前端和Server的网络数据传输. 二.JSON的语法 对象 一个对象,由一个大括号表示{},{}中通过一个个的键值对来描述对象的属性 注意: 键与值之间使用冒号连接,多个键值对之间使用逗号分隔. 键值对的键,应使用引号引住(通常Java解析时,键不使用引号会报错,而JS能正确解析):键值对的值,可以是JS中的任意数据类型

  • Java中Json与List、Map、entity的互相转化

    目录 第一步:导入依赖 第二步:开始使用 场景一:转换普通对象(Bean). 使用场景二:转换List集合. Json转List对象 使用场景三:转换Map集合. 在开发中,Json转换的场景往往也就是那么几个.1.将JavaBean转换为json,或将json字符串转换为JavaBean.2.将List集合转换为json,或将json转换为List集合.3.将Map集合转换为json,或将json转换为Map集合. 下面我们来看看如何使用 第一步:导入依赖         <dependenc

  • Java中json使用方法_动力节点Java学院整理

    摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.C#.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率). 一.准备工作  json是个非常重要的数据结构,在web开发中应用十分广泛.我觉得每个人都应该好好

  • Java中json与javaBean几种互转的讲解

    一.java普通对象和json字符串的互转 java对象---->json 首先创建一个java对象: public class Student { //姓名 private String name; //年龄 private String age; //住址 private String address; public String getName() { return name; } public void setName(String name) { this.name = name; }

  • 关于Java中Json的各种处理

    目录 Java Json的各种处理 一.net.sf.json 二.com.alibaba.fastjson Java常用json处理 Java Json的各种处理 一.net.sf.json 1.Json转Map JSONObject jsonObject = JSONObject.fromObject(jsonStr); Map<String,Object> map = new HashMap<>(); map.put("code",jsonObject .

随机推荐