Json解析之 ---- FastJSON 实现 Map、JSON、String 之间的互转

34 篇文章 0 订阅
4 篇文章 0 订阅

简介

Fastjson是一个Java语言编写的高性能功能完善的JSON库(由阿里巴巴团队完善开发)。

高性能

fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。

支持标准

  • Fastjson完全支持http://json.org的标准,也是官方网站收录的参考实现之一。

功能强大

  • 支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。
  • 支持循环引用

无依赖

  • 不需要例外额外的jar,能够直接跑在JDK上。

支持范围广

  • 支持JDK 5、JDK 6、Android、阿里云手机等环境。

开源

测试充分

  • fastjson有超过1500个testcase,每次构建都会跑一遍,丰富的测试场景保证了功能稳定。

开源

 

项目中的引用方法 

maven

如果你使用了Maven,maven repository配置如下:

<repository>

    <id>opensesame</id>

    <name>Alibaba OpenSource Repsoitory</name>

    <url>http://code.alibabatech.com/mvn/releases/</url>

    <snapshots>

        <enabled>false</enabled>

    </snapshots>

</repository>

pom.xml文件中加入依赖依赖:

<dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>fastjson</artifactId>

    <version>1.1.14</version>

</dependency>

常用的转换方法:

1、String 转 Json

@Test
public void test(){
    String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";  
    JSONObject  jsonObject = JSONObject.parseObject(str);
    System.out.println("json对象是:" + jsonObject);
    Object object = jsonObject.get("name");
    System.out.println("name值是:"+object);
}
运行结果:
        json对象是:{"name":"cool_summer_moon","age":"24"}
        name值是:cool_summer_moon

2、Json 转 String

@Test
public void test(){
    String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";
    JSONObject  jsonObject = JSONObject.parseObject(str);
    //json对象转字符串
    String jsonString = jsonObject.toJSONString();
    System.out.println("json字符串是:" + jsonString);
}
运行结果:
        json字符串是:{"name":"cool_summer_moon","age":"24"}

3、String 转 Map

@Test
public void test(){
    String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";
    JSONObject  jsonObject = JSONObject.parseObject(str);
    //json对象转Map
    Map<String,Object> map = (Map<String,Object>)jsonObject;
    System.out.println("map对象是:" + map);
    Object object = map.get("age");
    System.out.println("age的值是"+object);
}
运行结果:
        map对象是:{"name":"cool_summer_moon","age":"24"}
        age的值是24

4、Map 转 String

@Test
public void test(){
    Map<String,Object> map = new HashMap<>();
    map.put("age", 24);
    map.put("name", "cool_summer_moon");
    String jsonString = JSON.toJSONString(map);
    System.out.println("json字符串是:"+jsonString);
}
运行结果:
        json字符串是:{"name":"cool_summer_moon","age":24}

5、Map 转 Json

@Test
public void test(){
    Map<String,Object> map = new HashMap<>();
    map.put("age", 24);
    map.put("name", "cool_summer_moon");
    JSONObject json = new JSONObject(map);
    System.out.println("Json对象是:" + json);
}
运行结果:
        Json对象是:{"name":"cool_summer_moon","age":24}

6、Json 转 Map

见示例3
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值