美文网首页软件工程师成长日记
Json字符串转JsonObject例子

Json字符串转JsonObject例子

作者: 麦克劳林 | 来源:发表于2018-03-06 15:34 被阅读4次

    1、Gson

    Gson是Google发布的一个开源Java类库,能够很方便的在Java对象和JSON字符串之间进行序列化和反序列化。

    <!-- Gson maven项目依赖 -->
    <dependency>  
      <groupId>com.google.code.gson</groupId>  
      <artifactId>gson</artifactId>  
      <version>2.2.2</version>  
    </dependency>
    

    代码实现

    //Json字符串转Json对象
    JsonObject departmentJsonObj = new JsonParser().parse(allDepartmentStr).getAsJsonObject();
    String dept = departmentJsonObj .get("department").toString();
    //JsonObject转Json数组
    JsonArray deptListArray = departmentIdListJsonObj.getAsJsonArray("department");
    

    注意,当所解析的Json字符串中某个参数中是带双引号的,还需要去“”,如:

    {
    "name": "username",
    "age": 20,
    "admin": true
    }
    如果我想取name,做如下写,如果不加replaceAll(),name取出的是“username”,会有双引号的。而使用方法2的FastJson就不需要去双引号。

    JsonObject userJsonObj = new JsonParser().parse(userJsonStr).getAsJsonObject();
    String userName = userJsonObj .get("name").toString().replaceAll("\"", "");
    

    2、FastJson

    Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发。
    1、遵循http://json.org标准,为其官方网站收录的参考实现之一。
    2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。
    3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。
    4、开源,使用Apache License 2.0协议开源。http://code.alibabatech.com/wiki/display/FastJSON/Home
    5、具有超高的性能,java世界里没有其他的json库能够和fastjson可相比了。

    <!-- FastJson在maven项目依赖 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.27</version>
    </dependency>
    

    代码实现

    //Json字符串转Json对象
    JSONObject accessTokenJsonObject = JSONObject.parseObject(accessTokenJsonStr);
    accessToken = accessTokenJsonObject.getString("access_token");

    相关文章

      网友评论

        本文标题:Json字符串转JsonObject例子

        本文链接:https://www.haomeiwen.com/subject/iptrfftx.html