Java使用fastjson对String、JSONObject、JSONArray相互转换

目录
  • fastjson对String、JSONObject、JSONArray相互转换
  • com.alibaba.fastjson.JSONObject、JSONArray与String之间的转换demo

fastjson对String、JSONObject、JSONArray相互转换

fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean

下面主要是本人在工作中经常用到的关于String、JSONObject、JSONArray的相互装换

String——>>>JSONArray

String st = "[{name:Tim,age:25,sex:male},{name:Tom,age:28,sex:male},{name:Lily,age:15,sex:female}]";
JSONArray tableData = JSONArray.parseArray(st);

JSONArray——>>>JSONObject

JSONObject rowData = new JSONObject();
for(int i;i<tableData.length();i++){
    rowData = tableData.getJSONObject[i];
}

String——>>>JSONObject

String st = "{name:Tim,age:25,sex:male}";
JSONObject rowData = JSONObject.parseObject(st);

JSONObject——>>>JSONArray

JSONObject rowData = {info:
                            [
                                {
                                    name:Tim,
                                    age:25,
                                    sex:male
                                },{
                                    name:Tom,
                                    age:28,
                                    sex:male
                                },{
                                    name:Lily,
                                    age:15,
                                    sex:female
                                }
                            ]
                        };
JSONArry tableData = rowData.get("info");

com.alibaba.fastjson.JSONObject、JSONArray与String之间的转换demo

话不多说,直接上代码

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.Map;
/**
 * Created by LH on 2019/2/21 14:08
 */
public class JsonDemo {
    public static void main(String[] args) {
        //1.json字符串转换为对象
        String jsonString="{'name':'42313123','id':'2345','age':12}";
        JSONObject jsonObject = JSONObject.parseObject(jsonString);
        String id = jsonObject.getString("id");
        System.out.println(id);
        //2. JSONObject转化成自定义类对象
        PeoplePo peoplePo1 = JSONObject.parseObject(jsonString, PeoplePo.class);
        System.out.println(peoplePo1);
        //3. JSONObject转化成Map集合
        Map map = JSONObject.parseObject(jsonString, Map.class);
        System.out.println(map);
        //4. 自定义对象转化成json格式的字符串
        PeoplePo peoplePo = new PeoplePo();
        peoplePo.setId("1");
        peoplePo.setAge(11);
        peoplePo.setName("LH");
        String peopleJson = JSON.toJSONString(peoplePo);
        System.out.println(peopleJson);
        //5. String类型转化成JSONObject;
        String str = "{\"result\":\"success\",\"message\":\"成功!\"}";
        JSONObject jsonObject1 = JSONObject.parseObject(str);
        System.out.println(jsonObject1);
        //6. JSONObject转化成JSONArray的两种方式
        String str1 = "{\"result\":\"success\",\"message\":\"成功!\",\"data\":[{\"name\":\"Tom\",\"age\":\"20\"}]}";
        JSONObject jsonToArray = JSONObject.parseObject(str1);
        //方式一
        JSONArray data = jsonToArray.getJSONArray("data");
        System.out.println(data);
        //方式二
        JSONArray jsonArray = JSONArray.parseArray(jsonToArray.getString("data"));
        System.out.println(jsonArray);
        //7. jsonArray转化成JSONObject并取出其中的元素数据
        JSONObject o = (JSONObject) jsonArray.get(0);
        String name = o.getString("name");
        System.out.println(o);
        System.out.println(name);
        System.out.println(jsonArray.toString());
    }
}

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

(0)

相关推荐

  • java中实体类和JSON对象之间相互转化

    在需要用到JSON对象封装数据的时候,往往会写很多代码,也有很多复制粘贴,为了用POJO的思想我们可以装JSON转化为实体对象进行操作 package myUtil; import java.io.IOException; import myProject.Student; import myProject.StudentList; import org.codehaus.jackson.map.ObjectMapper; import org.json.JSONArray; import or

  • 详解Java中String JSONObject JSONArray List<实体类>转换

    JSON使用阿里的fastJson为依赖包 gradle依赖管理如下: compile group: 'com.alibaba', name: 'fastjson', version:'1.2.41' 1.String转JSONObject 前言:String 是JSONObject格式的字符串 eg: JSONObject jSONObject = JSONObject.parseObject(String); 2.String转JSONArray 前言:String 是JSONArray格式

  • FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换操作

    fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换. JSONObject:fastJson提供的json对象. JSONArray:fastJson提供json数组对象. 我们可以把JSONObject当成一个Map<String,Object>来看,只是JSONObject提供了更为丰富便捷的方法,方便我们对于对象属性的操作.我们看一下源码. 同样我们可以把JSONArra

  • Java实现Json字符串与Object对象相互转换的方式总结

    本文实例总结了Java实现Json字符串与Object对象相互转换的方式.分享给大家供大家参考,具体如下: Json-Lib.Org.Json.Jackson.Gson.FastJson五种方式转换json类型 只列举了最省事的方式.不涉及复制情况和速度. 测试用例,一个User类,属性name,age,location.重写toString(). public class User { private String name; private Integer age; private Stri

  • Java使用fastjson对String、JSONObject、JSONArray相互转换

    目录 fastjson对String.JSONObject.JSONArray相互转换 com.alibaba.fastjson.JSONObject.JSONArray与String之间的转换demo fastjson对String.JSONObject.JSONArray相互转换 fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean 下面主要是本人在工作中经常用到的关于

  • 浅谈Java中FastJson的使用

    FastJson的使用 使用maven导入依赖包 <!--下边依赖跟aop没关系,只是项目中用到了 JSONObject,所以引入fastjson--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.70</version> </dependency> 常用方法:

  • Java实现的时间戳与date对象相互转换功能示例

    本文实例讲述了Java实现的时间戳与date对象相互转换功能.分享给大家供大家参考,具体如下: 一.日期转换为时间戳 public long getTimestamp() throws ParseException{ Date date1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss") .parse("2009/12/11 00:00:00"); Date date2 = new SimpleDateFormat(&quo

  • Java 中FastJson的基本使用

    FastJSON是一个Java语言编写的高性能,功能完善,完全支持http://json.org的标准的JSON库. 在开发Android的过程中,如果我们经常与服务器打交道,更新数据等等,那么json必然是个好的数据格式,但是有了json我们要解析它,使用原生的解析也可以,但是很不高效,所以这里介绍两种json数据解析的方式, 一种是FastJSon ,这个是阿里巴巴出的,号称最快的解析速度. 第二种使我们伟大的Google提供的Gson 来解析json,两个解析json都很方便,而且都很强大

  • Java集合与数组区别简介及相互转换实例

    数组Array和集合的区别: (1)数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) (2)JAVA集合可以存储和操作数目不固定的一组数据.(3)若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用. 联系:使用相应的toArray()和Arrays.asList()方法可以回想转换. List和ArrayList的区别 1.List是接口,List特性就是有序,会确保以一定的顺序保存元素. ArrayList是它的实现类

  • Java基础入门语法--String类

    今天带大家了解一下java的基础法语---String 字符串是我们以后工作中非常常用到的类型. 使用起来都非常简单方便, 我们一定要使用熟练. 那么C语言中是否有字符串类型? 答案是 " 没有 " !! char *p = " hello"; 那么p 的类型是一个字符串类型么? 不是,p是一个指针!! 而在 Java当中 是有 字符串类型的--String 一.定义方式 创建字符串的方式有很多种,常见的构造 String 的方式如以下: 方式一:直接赋值法 Str

  • 关于Java中byte[] 和 String互相转换问题

    通过用例学习Java中的byte数组和String互相转换,这种转换可能在很多情况需要,比如IO操作,生成加密hash码等等. 除非觉得必要,否则不要将它们互相转换,他们分别代表了不同的数据,专门服务于不同的目的,通常String代表文本字符串,byte数组针对二进制数据 通过String类将String转换成byte[]或者byte[]转换成String 用String.getBytes()方法将字符串转换为byte数组,通过String构造函数将byte数组转换成String 注意:这种方式

  • Java中HashMap与String字符串互转的问题解决

    目录 背景: 原因: 背景: 当我们有需求将HashMap转为Json格式的String时,切记不要使用HashMap的toString()方法,需要使用FastJson/Gson将HashMap转为String.如果使用toString()方法进行转换时,是无法将字符串再转为HashMap的.它只会出现序列化报错: demo代码: HashMap<String, String> dataMap = new HashMap<>(4); dataMap.put("key1&

随机推荐