1.介绍

JSON-Java是用于在Java中读取和写入JSON文档的参考应用程序。它是由Douglas Crockford编写的,他首先指定了JSON文档格式。它的工作原理是在POJO - 普通的旧Java对象中解析和存储JSON文本。这允许您的 Java 代码导航到文档,读取、更新和写入 JSON 文档。

2.依赖

<!-- https://mvnrepository.com/artifact/org.json/json --><dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20180813</version></dependency>

3.快速入门

该项目的主要目的是展示如何在 Java 中解析和发出 JSON 文档。有两个主要类:

  • JSONObject:从字符串中解析 JSON 对象,更新 JSON,并将其作为字符串发出。
  • JSONArray:从字符串中解析 JSON 数组,更新 JSON,并将其作为字符串发出。

4.实战

1. JSONObject

package com.example.jsoup;import lombok.Data;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONTokener;import java.util.HashMap;
import java.util.Map;public class JsonObject {public static void main(String[] args) {String jsonStr = "{\"edition\":\"third\",\"language\":\"java\",\"id\":\"07\",\"author\":\"张三\"}";final JSONObject jsonObject = new JSONObject(jsonStr);//获取所有的keyJSONArray names = jsonObject.names();System.out.println(names);final String id = jsonObject.getString("id");System.out.println(id);}/*** bean 转换为JSONObject*/public static JSONObject BeanToJson() {BookModel2 book = new BookModel2();book.setId("07");book.setLanguage("java");book.setEdition("third");book.setAuthor("张三");return new JSONObject(book);}/*** 利用 JSONToKener  转JSON*/public static JSONObject jsonTokenerToJson() {String jsonStr = "{\"edition\":\"third\",\"language\":\"java\",\"id\":\"07\",\"author\":\"张三\"}";JSONTokener jsonTokener = new JSONTokener(jsonStr);return new JSONObject(jsonTokener);}/*** map转JSON*/public static JSONObject mapToJson() {Map<String, String> map = new HashMap<>();map.put("id", "07");map.put("language", "java");map.put("edition", "third");map.put("author", "张三");return new JSONObject(map);}/*** bean转JSON  name*/public static JSONObject namesToJson() {BookModel book = new BookModel();book.setId("07");book.setLanguage("java");book.setEdition("third");book.setAuthor("张三");String[] names = {"id", "language", "edition", "author"};return new JSONObject(book, names);}/*** 字符串直接转JSON*/public static JSONObject stringToJson() {String jsonStr = "{\"edition\":\"third\",\"language\":\"java\",\"id\":\"07\",\"author\":\"张三\"}";return new JSONObject(jsonStr);}/*** JSON 添加元素*/public static JSONObject accumulateToJson() {final JSONObject jsonObject = new JSONObject();jsonObject.accumulate("id", "07");jsonObject.accumulate("language", "java");jsonObject.accumulate("edition", "third");jsonObject.accumulate("author", "张三");return jsonObject;}/*** JSON 添加元素*/public static JSONObject appendToJson() {final JSONObject jsonObject = new JSONObject();jsonObject.append("id", "07");jsonObject.append("language", "java");jsonObject.append("edition", "third");jsonObject.append("author", "张三");return jsonObject;}/*** 创建一个bean 对象*/@Datastatic class BookModel {String id;String language;String edition;String author;}@Datastatic class BookModel2 {private String id;private String language;private String edition;private String author;}}

2. JSONArray

import org.json.JSONArray;
import org.json.JSONObject;public class JsonObject {public static void main(String[] args) {String jsonStr = "[{\"edition\":\"third\",\"language\":\"java\",\"id\":\"07\",\"author\":\"张三\"}," +"{\"edition\":\"one\",\"language\":\"C++\",\"id\":\"05\",\"author\":\"李四\"}]";JSONArray jsonArray = new JSONArray(jsonStr);for (int i = 0; i < jsonArray.length() ; i++) {//获取每一个JSONArray 中每一个JSON数据JSONObject jsonObject = jsonArray.getJSONObject(i);final String id = jsonObject.getString("id");System.out.println(id);}}}

org.json解析JSON相关推荐

  1. android 数组指针异常,Android JSON解析Json数组是[]在解析时抛出空指针异常,如何以正确的方式写入?...

    我有复杂的API,我解析并显示在列表视图中,我将努力解析JSONArray.Here我将在斗争之后Json数组这是在帖子json对象"tags_name":["Activ ...

  2. Json解析(Json集合,Json嵌套)

    导入maven依赖: <dependency><groupId>net.sf.json-lib</groupId><artifactId>json-li ...

  3. Android——网络交互,如何调用接口并且json解析json格式和pull解析xml格式

    本菜鸟因为之前一直使用的是公司前辈封装好的类(网络接口调用超级方便有木有)完全没有想过有一天我会自己写,然后今天接触的时候一脸懵逼,然后今天花了一天时间终于研究好了:哈哈哈哈哈 二话不说先上代码: p ...

  4. 使用Newtonsoft.json解析json

    项目需要用Newtonsoft.json来解析json串. 这里对比一下litJson和Newtonsoft的使用 假设是这串json {"total": 1,"code ...

  5. Cocos2d-x Lua库函数剖析(七)Json解析 Json.lua

    开始之前我们先介绍一下JSON,JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式.它基于ECMAScript(欧洲计算机协会制定的js规范)的一 ...

  6. java ajax json 解析json数组对象数组对象数组对象数组_ajax传递包含对象数组的json数据...

    一个简单的demo.用户在前台页面表单输入数据表的信息,数据传递到后台,系统自动在后台创建数据库表(table)的功能. 作为简单demo,这里的表只有"表名","列名& ...

  7. android之json解析优化,Android开发之json解析

    目前正在尝试着写app,发现看懂代码和能写出来差距很大,最关键的是java基础比较的差,因为只会python,java基础只学习了一个礼拜就过了.感觉java写出来的代码不如python简单明了. 上 ...

  8. json数组 js html标签,JS 实现创建HTML标签及解析Json

    创建标签 var tbody = document.getElementById("myTbody"); var tr1 = document.createElement(&quo ...

  9. JSON Stringify示例–如何使用JS解析JSON对象

    There are so many programming languages, and every language has its own features. But all of them ha ...

最新文章

  1. 什么是Scala的收益?
  2. ABAP面向对象的开发
  3. 每天一道LeetCode-----最长回文子串/序列,从头开始的最长回文子串长度
  4. java 上传 进度条_Ajax上传文件并显示进度条
  5. 主成分分析(PCA)-最大方差解释
  6. Spring Boot 学习系列(07)—properties文件读取
  7. 开始学习redhat8,安装redhat8虚拟机
  8. 解决QML Window 增加radius效果
  9. swagger2常用注解
  10. 图像降噪:Scale-Space and Edge Detection Using Anisotropic Diffusion
  11. echarts 地图增加背景图
  12. 安卓4.X的桌面启动器-尖端启动器APEX_我是亲民_新浪博客
  13. 正则匹配过滤字母和数字
  14. 如何在windows xp[ 下使用自带的播放器播放 mp4、AVI视频
  15. cocos2dx 常用的基本功能
  16. ES双中心数据稽核(同步)
  17. 提高英语 - 口语和思维
  18. 验证(Javascript和正则表达式)
  19. Outline Of Sodoku
  20. C语言求任意两个矩阵相乘的算法(初学尝试矩阵乘法)

热门文章

  1. 六大设计模式原则-单一职责原则
  2. 疾病研究:一千万悬赏进行性肌营养不良治疗方法
  3. GPT-3核心成员出走打造ChatGPT最强竞品,估值50亿美元
  4. IOS wireshark抓包
  5. Java-day12(面向对象中2 Debug 调试 方法的重写 多态性)
  6. 【node.js】知识点总结
  7. Windows系统 Apple 注销账户 Revoke Token
  8. C++黑马教程学习,如有侵权,请联系我删除
  9. 单代号网络 双代号网络 概念
  10. UC浏览器的抓包分析