0. 说明

  介绍 && 测试 JSON


1. 介绍

  XML 指可扩展标记语言(eXtensible Markup Language)。
  XML 被设计用来传输和存储数据。

  JSON: JavaScript Object Notation(JavaScript 对象表示法)
  JSON 是轻量级的文本数据交换格式
  JSON 是存储和交换文本信息的语法。类似 XML。
  JSON 比 XML 更小、更快,更易解析。

  JSON 对象由 名称/值对组成 名称和值之间用冒号 : 隔开
  名称必须用双引号 " " 包含起来
  值可以是任意 JavaScript 数据类型,字符串,布尔,数字 ,数组甚至是对象
  不同的名称/值对之间用 逗号 , 隔开

  示例

{"name":"Tom","age":}

2. 测试 JSON

  【2.1 JSON 文本示例]】

    {"reviewPics":null,"extInfoList":null,"expenseList":null,"reviewIndexes":[],"scoreList":[{"score":,"title":"环境","desc":""},{"score":,"title":"服务","desc":""},{"score":,"title":"口味","desc":""}]}

  【2.2 添加 Maven 依赖】

<!-- fastjson 依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.</version>
</dependency>

  【2.3 TestJson.java】

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.junit.Test; public class TestJson { @Test
public void testJson() { // JSON 文本 {"name":"Tom","age":25}
String text = "{\"name\":\"Tom\",\"age\":25}"; // 将 JSON 转化为 JSONObject 格式
JSONObject jo = JSON.parseObject(text); // 通过 Key 获取 Value
Object name = jo.get("name");
Object age = jo.get("age");
System.out.println(name + ":" + age);
} @Test
public void testJsonArray() {
// JSON 文本 {"person":[{"name":"Tomas","friends":["John","Jim"],"age":18},{"name":"Tom","friends":["Amy","Alice"],"age":28}]}
String line = "{\"person\":[{\"name\":\"Tomas\",\"friends\":[\"John\",\"Jim\"],\"age\":18},{\"name\":\"Tom\",\"friends\":[\"Amy\",\"Alice\"],\"age\":28}]}"; // 将 JSON 转化为 JSONObject 格式
JSONObject jo = JSON.parseObject(line); // 通过 Key 获取 Value
JSONArray jsonArray = jo.getJSONArray("person"); for (Object object : jsonArray) {
// 将 JSON 转化为 JSONObject 格式
JSONObject jo2 = JSON.parseObject(object.toString());
if (jo2.get("name").toString().equals("Tom")) {
JSONArray jsonArray2 = jo2.getJSONArray("friends");
for (Object object2 : jsonArray2) {
System.out.println(object2);
}
}
}
}
}

最新文章

  1. Android 缓存
  2. ABP之依赖注入
  3. SpringMVC文件上传下载
  4. iOS 笔记
  5. BZOJ3931 [CQOI2015]网络吞吐量(最大流)
  6. JS的基础类型与引用类型
  7. SQL 查看数据库表的容量大小
  8. DFS-HDU 1312 -Red and Black
  9. ActiveMQ讯息传送机制以及ACK机制详解
  10. Windows Server Backup 备份Hypver-V VM
  11. 解决IE6下不支持 png24的透明图片问题
  12. sql date 的精度问题
  13. 树莓派连接GPS模块
  14. zookeeper配置管理+集群管理实战
  15. 【vue】vue +element 搭建项目,实现实时输入效果时停止输入后发送请求
  16. c# WPF RichTextBox 文字颜色
  17. Python学习day2 while循环&amp;格式化输出&amp;运算符
  18. Kettle 和数据建模的几个学习资料
  19. javascript数组(五)
  20. leetCode(寻找峰值)-二分查找

热门文章

  1. Django--视图函数views
  2. spring cloud+.net core搭建微服务架构:Api网关(三)
  3. error: device unauthorized —— android studio 链接不上虚拟机
  4. Android的Touch事件分发机制简单探析
  5. walle多渠道打包+Tinker(bugly)热更新集成+360加固(乐固)
  6. Nexus安装、使用说明 (转)
  7. git第七节---git merge和git rebase
  8. BBWebImage 设计思路
  9. [HEOI2017] 寿司餐厅 + 最大权闭合子图的总结
  10. Hyperledger Fabric密码模块系列之BCCSP(三)