/**
* 1.根据接收到的JSON字符串来解析字符串中所包含的数据和数据对象
*/
System.out.println("1.根据接收到的JSON字符串来解析字符串中所包含的数据和数据对象");
// 接收到的JSON字符串
String result = "[{\"username\": \"your name\", \"user_json\": {\"username\": \"your name\", \"nickname\": \"your nickname\"}}]";
// 根据字符串生成JSON对象
JSONArray json = new JSONArray(result);
JSONObject jsonObject = json.optJSONObject(0);
// 获取数据项
String username = jsonObject.getString("username");
// 获取数据对象
JSONObject user = jsonObject.getJSONObject("user_json");
String nickname = user.getString("nickname"); System.out.println(username);
System.out.println(nickname); /**
* 2.JSON对象转换为String字符串
*/
System.out.println("2.JSON对象转换为String字符串");
// 创建JSONObject对象
JSONObject jsonObj = new JSONObject(); // 向json中添加数据
jsonObj.put("username", "wanglihong");
jsonObj.put("height", 12.5);
jsonObj.put("age", 24); // 创建JSONArray数组,并将json添加到数组
JSONArray array = new JSONArray();
array.put(jsonObj);
// 转换为字符串
String jsonStr = array.toString();
System.out.println(jsonStr); /**
* 3. 集合转换为JSONArray对象
*/
System.out.println("3. 集合转换为JSONArray对象");
// 初始化ArrayList集合并添加数据
List<String> list = new ArrayList<String>();
list.add("username");
list.add("age");
list.add("sex"); // 初始化HashMap集合并添加数组
Map<String,String> map = new HashMap<String,String>();
map.put("bookname", "CSS3实战");
map.put("price", "69.0"); // 初始化JSONArray对象,并添加数据
JSONArray jsonArray = new JSONArray();
jsonArray.put(list);
jsonArray.put(map);
System.out.println(jsonArray.toString());

  

导入的包名:
import org.json.JSONArray;
import org.json.JSONObject;

导入的依赖:
<dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20160810</version>
</dependency>

输出结果:
1.根据接收到的JSON字符串来解析字符串中所包含的数据和数据对象
your name
your nickname
2.JSON对象转换为String字符串
[{"age":24,"username":"wanglihong","height":12.5}]
3. 集合转换为JSONArray对象
[["username","age","sex"],{"price":"69.0","bookname":"CSS3实战"}]

JAVA基础-JSON的更多相关文章

  1. Java基础——JSON

    一.JSON定义 在百度百科中的解释:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript的一个子集. JSON采用完全独立于语言的 ...

  2. Java基础-处理json字符串解析案例

    Java基础-处理json字符串解析案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 作为一名开发人员,想必大家或多或少都有接触到XML文件,XML全称为“extensible ...

  3. 给Java新手的一些建议----Java知识点归纳(Java基础部分)

    写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给 ...

  4. 如何学习java?Java基础知识点分享

    面对未知的行业,人们的第一反应应该是:拒绝踏入.因为学习真的是一个痛苦的过程.想要真正了解一个行业,熟知一个行业,并熟练掌握某一技术,是真的需要时间和精力的.在学习Java基础知识期间,千锋小编疯狂为 ...

  5. java处理json与对象的转化 递归

    整个类是一个case,总结了我在使用java处理json的时候遇到的问题,还有级联关系的对象如何遍历,json和对象之间的转换! 对于对象json转换中遇到的问题我参考了一篇博客,http://blo ...

  6. 剑指Offer——知识点储备-Java基础

    剑指Offer--知识点储备-Java基础 网址来源: http://www.nowcoder.com/discuss/5949?type=0&order=0&pos=4&pa ...

  7. Java JWT: JSON Web Token

    Java JWT: JSON Web Token for Java and Android JJWT aims to be the easiest to use and understand libr ...

  8. java基础-3

    java基础-3 API ​ Application Programming Interfaces --- 应用程序接口 Object 顶级父类 Bin --- 二进制 Oct --- 八进制 Dec ...

  9. Java基础96 ajax技术的使用

    本文知识点(目录): 1.ajax的概念   2.使用ajax技术获取服务端的数据_实例   3.使用ajax技术检查用户名是否已存在_实例   4.使用ajax技术验证登录页面的用户名和密码_实例 ...

  10. Java基础组件快速入门

    最近需要上线很多新的JAVA项目,然而很多JAVA的相关库都不太熟悉,项目实现起来遇到了不小阻力,熬了好几天夜.现在手头的工作基本完成了,因此打算好好来归纳下java的相关工具库,将来需要借助你们,好 ...

随机推荐

  1. Java scheduled executor

    A typical usage of java scheduled executor looks like this ScheduledExecutorService executor = Execu ...

  2. Linux下Tomcat进行远程调试

    1.更改tomcat远程调试端口(可以使用默认端口不更改) 打开目录下的catalina.sh文件,找到JPDA_ADDRESS=”8000”,8000代表远程调试端口,可以更改成其他没有被占用的端口 ...

  3. 记录——excel导出lua工具(python实现)

    项目需要一个从excel导出lua配置表的工具,之前的工具是主程写的,效率极差,i7 CPU 一次全部导出要花掉1个多小时.匪夷所思的是,这么渣的效率,居然用了整整一年.当 然,中途有人反映效率差,主 ...

  4. IOS中的UIScrollView

    要引用UIScrollView 首先要遵循UIScrollViewDelegate协议 然后重写 //1.拖拽方法 -(void)scrollViewDidScroll:(UIScrollView * ...

  5. 面向对象设计(Object-Oriented Design,OOD)

    前言 OOD简介 Shubho:亲爱的,让我们开始学习OOD吧.你了解面向对象原则吗? Farhana:你是说封装,继承,多态对吗?我知道的. Shubho:好,我希望你已了解如何使用类和对象.今天我 ...

  6. Apple本地认证(密码+Touch id)

    转载请注明原文链接:http://www.cnblogs.com/zhanggui/p/6839554.html 前言 本片博客主要介绍如何在自己的APP中添加指纹解锁/密码解锁技术.主要是对苹果的L ...

  7. NSA永恒之蓝病毒,如何通过360工具修复?

    简介: NSA武器库的公开被称为是网络世界"核弹危机",其中有十款影响Windows个人用户的黑客工具,包括永恒之蓝.永恒王者.永恒浪漫.永恒协作.翡翠纤维.古怪地鼠.爱斯基摩卷. ...

  8. Java学习笔记——排序算法之快速排序

    会当凌绝顶,一览众山小. --望岳 如果说有哪个排序算法不能不会,那就是快速排序(Quick Sort)了 快速排序简单而高效,是最适合学习的进阶排序算法. 直接上代码: public class Q ...

  9. protobuf那些事

    大家好,俺又来写博客了.......上次剧情预告说,这次会写hive的博客.......好吧,那俺就不打算写hive了.......老码农路子就是要野(本人不老,不能说得影响了找女票)......这次 ...

  10. Windows下安装Nodejs步骤

      最近打算把我们的微信端用Vue.js重构,为什么选择Vue.js,一是之前使用的是传统的asp.net mvc,多页面应用用户体验比单页面要差.二是使用过Angular.js,感觉对开发人员要求较 ...