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);
}
}
}
}
}

[JSON_01] JSON 解析的更多相关文章

  1. Android okHttp网络请求之Json解析

    前言: 前面两篇文章介绍了基于okHttp的post.get请求,以及文件的上传下载,今天主要介绍一下如何和Json解析一起使用?如何才能提高开发效率? okHttp相关文章地址: Android o ...

  2. Json解析工具的选择

    前言 前段时间@寒江不钓同学针对国内Top500和Google Play Top200 Android应用做了全面的分析(具体分析报告见文末的参考资料),其中有涉及到对主流应用使用json框架Gson ...

  3. iOS json 解析遇到error: Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed.

    Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 38 ...

  4. Android之JSON解析

    做个Android网络编程的同学一定对于JSON解析一点都不陌生,因为现在我们通过手机向服务器请求资源,服务器给我们返回的数据资源一般都是以JSON格式返回,当然还有一些通过XML格式返回,相对JSO ...

  5. Android总结之json解析(FastJson Gson 对比)

    前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和 ...

  6. JSON解析和XML解析对比

    JSON解析和XML解析是较为普遍的两种解析方式,其中JSON解析的市场分额更大.本文系统的分析两种解析方式的区别,为更好地处理数据作准备.由于目前阶段主要是做移动开发,所以本文所描述的JSON解析和 ...

  7. iOS json解析的几种方法 NSJSONSerialization,JSONKit,SBJson ,TouchJson

    相关的第三方类库大家可以去github上下载 1.NSJSONSerialization 具体代码如下 : - (void)viewDidLoad { [super viewDidLoad]; NSD ...

  8. Json解析工具Jackson(使用注解)

    原文http://blog.csdn.net/nomousewch/article/details/8955796 接上一篇文章Json解析工具Jackson(简单应用),jackson在实际应用中给 ...

  9. Json解析工具Jackson(简单应用)

    原文http://blog.csdn.net/nomousewch/article/details/8955796 概述 Jackson库(http://jackson.codehaus.org),是 ...

随机推荐

  1. Android应用系列:完美运行GIF格式的ImageView(附源码)

    前言 我们都知道ImageView是不能完美加载Gif格式的图片,如果我们在ImageView中src指定的资源是gif格式的话,我们将会惊喜的发觉画面永远停留在第一帧,也就是不会有动画效果.当然,经 ...

  2. redis-scala链接redis集群

    代码: package com.wenbronk.sparkstreaming.scala.commons import java.time.Duration import io.lettuce.co ...

  3. Velocity常用语法详解

    果然公司用的东西跟平时学的东西不太一样,我们公司前台页面并不是我们熟悉的.html或者.jsp文件,而是很多人不知道的 .vm文件,其实只要我们理解了jsp文件,vm文件也就是一些基本语法不同而已. ...

  4. apache log4j打印日志源码出口

    Throwable.class: public void printStackTrace(PrintStream s) { synchronized (s) { s.println(this); St ...

  5. 深度学习论文翻译解析(二):An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition

    论文标题:An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application ...

  6. FFmpeg编解码处理3-视频编码

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10584937.html FFmpeg编解码处理系列笔记: [0]. FFmpeg时间戳详 ...

  7. JAVA中ArrayList与LinkedList的区别以及对应List使用foreach与使用下标遍历的效率问题

    近期在做一个对接京东的电商平台,所以对各个地方的效率考虑的比较多,今天深挖了一下ArrayList与LinkedList的区别以及对应List使用foreach与使用下标遍历的效率问题,首先说一下两种 ...

  8. VirtualBox centos7扩容

    有时候扩容还真不如重新建立一个大硬盘的系统,但是如果你安装了好多东西的话,那还是来扩容一下吧. 查看磁盘格式           在virtualBox中右键点击虚拟机->设置->存储,如 ...

  9. 【SQL】小心在循环中声明变量——浅析SQL变量作用域

    本文适用:T-SQL(SQL Server) 先看这个语句: --跑3圈 BEGIN --每圈都定义一个表变量,并插入一行 DECLARE @t TABLE(Col INT PRIMARY KEY) ...

  10. Java集合的选择

    我们在使用集合时应该使用哪个集合呢? 具体还是要看需求, 当然, Java中不只是有这几个, 还有一些没有给出, 具体情况具体分析吧, 仅给出一个小思路. 进行集合的选择:  是否是键值对象形式: 一 ...