org.json解析JSON
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相关推荐
- android 数组指针异常,Android JSON解析Json数组是[]在解析时抛出空指针异常,如何以正确的方式写入?...
我有复杂的API,我解析并显示在列表视图中,我将努力解析JSONArray.Here我将在斗争之后Json数组这是在帖子json对象"tags_name":["Activ ...
- Json解析(Json集合,Json嵌套)
导入maven依赖: <dependency><groupId>net.sf.json-lib</groupId><artifactId>json-li ...
- Android——网络交互,如何调用接口并且json解析json格式和pull解析xml格式
本菜鸟因为之前一直使用的是公司前辈封装好的类(网络接口调用超级方便有木有)完全没有想过有一天我会自己写,然后今天接触的时候一脸懵逼,然后今天花了一天时间终于研究好了:哈哈哈哈哈 二话不说先上代码: p ...
- 使用Newtonsoft.json解析json
项目需要用Newtonsoft.json来解析json串. 这里对比一下litJson和Newtonsoft的使用 假设是这串json {"total": 1,"code ...
- Cocos2d-x Lua库函数剖析(七)Json解析 Json.lua
开始之前我们先介绍一下JSON,JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式.它基于ECMAScript(欧洲计算机协会制定的js规范)的一 ...
- java ajax json 解析json数组对象数组对象数组对象数组_ajax传递包含对象数组的json数据...
一个简单的demo.用户在前台页面表单输入数据表的信息,数据传递到后台,系统自动在后台创建数据库表(table)的功能. 作为简单demo,这里的表只有"表名","列名& ...
- android之json解析优化,Android开发之json解析
目前正在尝试着写app,发现看懂代码和能写出来差距很大,最关键的是java基础比较的差,因为只会python,java基础只学习了一个礼拜就过了.感觉java写出来的代码不如python简单明了. 上 ...
- json数组 js html标签,JS 实现创建HTML标签及解析Json
创建标签 var tbody = document.getElementById("myTbody"); var tr1 = document.createElement(&quo ...
- JSON Stringify示例–如何使用JS解析JSON对象
There are so many programming languages, and every language has its own features. But all of them ha ...
最新文章
- 什么是Scala的收益?
- ABAP面向对象的开发
- 每天一道LeetCode-----最长回文子串/序列,从头开始的最长回文子串长度
- java 上传 进度条_Ajax上传文件并显示进度条
- 主成分分析(PCA)-最大方差解释
- Spring Boot 学习系列(07)—properties文件读取
- 开始学习redhat8,安装redhat8虚拟机
- 解决QML Window 增加radius效果
- swagger2常用注解
- 图像降噪:Scale-Space and Edge Detection Using Anisotropic Diffusion
- echarts 地图增加背景图
- 安卓4.X的桌面启动器-尖端启动器APEX_我是亲民_新浪博客
- 正则匹配过滤字母和数字
- 如何在windows xp[ 下使用自带的播放器播放 mp4、AVI视频
- cocos2dx 常用的基本功能
- ES双中心数据稽核(同步)
- 提高英语 - 口语和思维
- 验证(Javascript和正则表达式)
- Outline Of Sodoku
- C语言求任意两个矩阵相乘的算法(初学尝试矩阵乘法)