开发中经常遇到将字符串转成json和字符串转成json属组的方法,网上搜到的方法,好多都是不好用的,今天这里记录一下方便自己今后查看,也提供给需要的人。

依赖:

  <!-- 处理json -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.56</version>
</dependency>

代码:

public static void main(String[] args) {

        //字符串转json对象
String jsonStr = "{ expires_in: 2592000,\n" +
"refresh_token: \"122.2582432a1cf40bc91ca31c10b5a6c038.Y3l6ETFhyjmS8ABFNRv3cPcJzKO-Pl9M4TCnUpx.LHh1Vw\",\n" +
"access_token: \"121.fd4b4277dba7a65a51cf370d0e83f567.Y74pa1cYlIOT_Vdp2xuWOqeasckh1tWtxT9Ouw5.LPOBOA\",\n" +
"session_secret: \"\",\n" +
"session_key: \"\",\n" +
"scope: \"basic netdisk\"\n" +
"}"; JSONObject json=(JSONObject) JSONObject.toJSON(JSON.parse(jsonStr));
System.out.println("access_token:"+json.getString("access_token")); //字符串转json对象数组
String jsonArrayStr ="{ \n" +
" \"users\": [\n" +
" {\n" +
" \"id\": \"1\",\n" +
" \"name\": \"张三\",\n" +
" },\n" +
" {\n" +
" \"id\": \"2\",\n" +
" \"name\": \"李四\",\n" +
" } \n" +
" ]\n" +
"}";
JSONObject jsonTemp=(JSONObject) JSONObject.toJSON(JSON.parse(jsonArrayStr));
JSONObject jsnobject = new JSONObject(jsonTemp);
JSONArray jsonArray = jsnobject.getJSONArray("users");
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
System.out.println(jsonObject.get("name"));
} }

输出结果:

补充一些方法:

// 1. String 转 JSONObject
String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}";
JSONObject jsonObject = JSONObject.parseObject(jsonMessage); // 2. String 转 JSONArray
String jsonMessage = "[{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}]";
JSONArray jsonArray = JSONArray.parseArray(jsonMessage); // 3. JSONObject 转 String
String jsonMessage = jsonObject.toString(); // 4. JSONObject 转 JSONArray
JSONArray jsonArray = new JSONArray();
jsonArray.add(jsonObject); // 5. JSONArray 转 String
String jsonMessage = jsonArray.toString(); // 6. JSONArray 转 JSONObject
// 获取 JSONArray 指定 index 的对象
Object o = jsonArray.get(index);
// 转为 List 集合
List<类> list = jsonArray.toJavaList(类.class);

推荐一个适合零基础学习SQL的网站:不用安装数据库,在线轻松学习SQL!

java字符串与json互转的更多相关文章

  1. Java字符串与日期互转

    Java字符串与日期的相互转换 1.字符串转日期 字符串的格式与日期的格式一定要对应,并且字符串格式可以比日期格式多,但不能少,数字大小不自动计算日期.其中需要主要大小写 年yyyy 月MM 日dd ...

  2. java 字符串转json,json转对象等等...

    @RequestMapping(value = "updateInvestorApplyAccountNo", method = RequestMethod.POST) @Resp ...

  3. java 对象与json互转

    有时为了项目需求,会将对象数据转换成json数据,以下是个人根据项目需求实现的方法. 项目中需要将数据格式: [{ "node": "0", "ind ...

  4. java 字符串转json,json转实体对象、json字符串转换成List、List转String、以及List排序等等...

    @RequestMapping(value = "updateInvestorApplyAccountNo", method = RequestMethod.POST) @Resp ...

  5. Java - 字符串和Unicode互转 - 解析小米pm.min.js

    小米JS地址: http://p.www.xiaomi.com/zt/20130313/huodong/pm.min.js 上面这个JS是小米抢手机页面的代码.和抢手机有直接关联.. 虽然我3次都没抢 ...

  6. Java bean和json互转时,屏蔽某个属性

    有的时候我们把java bean 转换成json的时候,希望屏蔽掉某个属性,这时可以在java bean的属性上加上@JsonIgnore注解,在com.fasterxml.jackson.annot ...

  7. java字符串转json

    针对不同jar包 一: import org.json.JSONObject; JSONObject jo = new JSONObject(new String(需要转换的字符串)); 二: imp ...

  8. java对象与json互转

    package com.liveyc; import java.io.StringWriter; import org.junit.Test; import com.fasterxml.jackson ...

  9. java字符串大小写字母互改

    import java.util.Scanner; public class Test { /** * 测试数据 * * @param args */ public static void main( ...

  10. java字符串和unicode互转

    直接上代码 private static String decodeUnicode(String input) { if (null == input) return input; int len = ...

随机推荐

  1. TCP连接断开:为什么要挥手四次

    本文分享自华为云社区<解密TCP连接断开:四次挥手的奥秘和数据传输的安全>,作者: 努力的小雨 . TCP 连接断开 在当今数字化时代,互联网已经成为了人们生活中不可或缺的一部分.而在互联 ...

  2. springMvc报错

    这个报错困扰了我大概一天,主要是刚开始没抓到主要原因,是因为自己的项目结构出现了问题, 导致找不到应有的东西,另一方面就是maven的问题,将maven解决后这个就能用了. 具体解决在https:// ...

  3. KNN算法实战——海伦约会(KDtree优化)

    本文通过海伦约会的例子来测试之前写的KDTree的效果,并且探讨了特征是否进行归一化对整个模型的表现的影响.最后发现在机器学习中,特征归一化确实对模型能提供非常大的帮助. 1 from KDTree ...

  4. sudo: unable to execute /bin/rm: Argument list too long

    Linux,删除文件夹下所有内容,数据太多时,报错too long sudo rm -r /var/lib/jenkins/workspace/test_1/allure-report/data/at ...

  5. HTML之CSS Animation 属性常用动画

    引入下面的样式表后 -webkit-animation: tada 1s ease 0.3s infinite both; -webkit-animation: name duration timin ...

  6. 如何找到 niche 出海细分市场的 IDEA

    先说结论就是:看榜单 Why:为什么看榜单? 大家会问为什么?原因很简单: 熟读唐诗三百首,不会作诗也会吟 不天天看榜单上相关的优秀同行,你想干啥 心法就是下苦功夫坚持,量变引起质变,排行榜天天看 竞 ...

  7. libGDX游戏开发之Sprite、Texture和TextureRegion绘制旋转、反转(九)

    libGDX游戏开发之Sprite.Texture和TextureRegion绘制反转(九) libGDX系列,游戏开发有unity3D巴拉巴拉的,为啥还用java开发?因为我是Java程序员emm- ...

  8. dfs之迭代加深

    为什么要用迭代加深 \(dfs\) 每次会选择搜索树的一个分支,不断深入,直到达到递归边界条件:但这种搜索策略带有一定的缺陷性: 如果搜索树的某一个分支中的节点个数特别多,但是答案并不在这棵子树里面, ...

  9. 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 09.第二个游戏规则:玩家重生

    斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论 概述 本文对应课程15章,60 - Refining Player Respawns. 在本篇文章中,将会为游戏新增加 ...

  10. 使用MediaDevices接口实现录屏技术

    摘要:本文将介绍如何使用JavaScript的MediaDevices接口实现录屏功能.我们将通过WebRTC技术捕获用户的屏幕或摄像头画面,并将其编码为MP4视频文件. 在线录屏是指在互联网上进行屏 ...