Java解析基于json-simple库,github地址。
https://github.com/fangyidong/json-simple
解析是把字符串变为json文件,或者把json文件变成字符串,然后取值。

package com.lovely.json;import java.io.IOException;
import java.io.StringWriter;
import java.util.Iterator;import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;public class JsonEncodeDemo {static JSONObject obj = new JSONObject();public static void main(String[] args) {// 2020/2/29try {test2();} catch (Exception e) {e.printStackTrace();}}@SuppressWarnings("unchecked")public static void test() {// 输出json字符串  obj.put("name", "foo");obj.put("num", new Integer(100));obj.put("balance", new Double(1000.21));obj.put("is_vip", new Boolean(true));System.out.print(obj.toJSONString());// {"balance":1000.21,"num":100,"is_vip":true,"name":"foo"}}@SuppressWarnings("unchecked")public static void test1() throws IOException {// json 对象流 用于写。obj.put("name", "jack");obj.put("gender", "male");obj.put("age", 11);obj.put("tel", 223);obj.put("phone", 666);StringWriter out = new StringWriter();obj.writeJSONString(out);String jsonText = out.toString();System.out.println(jsonText);// {"phone":666,"tel":223,"age":11,"name":"jack","gender":"male"}}public static void test2() {// 在 Java 中解码 JSON 使用JSONPARSER ---把json文件变成object,转型数组。不符合json格式的报错。/** 局限性,以json数组形式存在*  *    [{"id": "666", "author": "plus.Lee"},*           {"id": "999", "author": "plus.catcher"}*   ]*  * [{"id": 1, "name": "qian"}, {"id": 2, "name": "plus"}]* * */String s = "";s = "[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]";JSONParser parser = new JSONParser();try {// 把json字符串转换成objObject obj = parser.parse(s);// 把obj转换为集合 JSONArray jsonArray = (JSONArray)obj;// 迭代器迭代集合, s里面有两个json对象    Iterator<?> iterator = jsonArray.iterator();while (iterator.hasNext()) {System.out.print(iterator.next() + "\t");}// 0    {"1":{"2":{"3":{"4":[5,{"6":7}]}}}}   System.out.println();// 把数组转换为json对象JSONObject obj1 = (JSONObject)jsonArray.get(1);// 键--> 值System.out.println(obj1.get("1"));// {"2":{"3":{"4":[5,{"6":7}]}}} 其它key,value是nulls = "[{\"id\": 1, \"name\": \"qian\"}, {\"id\": 2, \"name\": \"plus\"}]";obj = parser.parse(s);System.out.println("qian&plus\t" + obj); // qian&plus    [{"id":1,"name":"qian"},{"id":2,"name":"plus"}]jsonArray = (JSONArray)obj;obj1 = (JSONObject)jsonArray.get(1); // 叫plus的System.out.println(obj1.get("id") + "\t" + obj1.get("name")); // 2    pluss = "[{\"id\" : \"b_1\"} ,2]";obj = parser.parse(s);jsonArray = (JSONArray)obj;System.out.println(jsonArray.get(0) + "\t" + jsonArray.get(1));// {"id":"b_1"}  2// 下面的 1 和 1,7 json格式是有问题的,但是有结果s = "[1,]";obj = parser.parse(s);System.out.println(obj); // [1]s = "[1, ,7]";obj = parser.parse(s);System.out.println(obj);// [1,7]} catch (ParseException pe) {System.out.println("position:" + pe.getPosition());System.out.println(pe);}}}

啦啦啦,小伙伴们,给我建议,跟我交流鴨。( ̄︶ ̄*))

Java解析JSON文件相关推荐

  1. java解析json文件_Java性能优化:正确的解析JSON文件

    数据收集服务平均1小时OOM(java.lang.OutOfMemoryError: GC overhead limit exceeded)一次,发现都是在下载处理 JSON Atom Feed时OO ...

  2. 如何使用java解析json文件并将其写入数据库

    JAVA解析JSON数据文件 在使用第三方的api文档时,会得到相应的JSON数据文件,那么我们怎样将JSON文件写入数据库从而测试数据呢?下面我将给大家做一个简单的展示. 一.什么是JSON JSO ...

  3. java解析json文件并保存到mysql数据库

    一.数据是从"聚合数据"这个网站获取的,点我下载json文件,访问相应的地址,就返回很长的json格式的数据.因为不太了解json数据格式,我自己另外加了双引号(其实值的部分可以是 ...

  4. Java解析json文件,转换成JSONObject

    如下图,现有data.json文件,如何进行转换,方便程序处理? 转换成JSONObject: @Test void contextLoads() {String path = "/stat ...

  5. Java性能优化:正确的解析JSON文件

    为什么80%的码农都做不了架构师?>>>    数据收集服务平均1小时OOM(java.lang.OutOfMemoryError: GC overhead limit exceed ...

  6. Ajax解析JSON文件

    Ajax解析后台来json文件,是用jQuery方式实现的.依赖jQuery库. jQuery库 Coding coming- 需求:从后台发送学生的json对象,输出到前台,依赖Java解析json ...

  7. 解析json文件、执行批量修改sql

    要求:解析json文件,取出其中的参数,修改数据库中的数据 数据量:190万条 使用线程池批量处理sql 1.线程: public class DateHandleThread extends Thr ...

  8. Java解析yaml文件

    Java解析yaml文件 1. 什么是yaml ? 2. 导入maven依赖 3. yaml 案例文件 4. 示例代码 5. 解析结果 1. 什么是yaml ? 参考下方链接 yaml快速入门 2. ...

  9. Android--------使用gson解析json文件

    ##使用gson解析json文件 **json的格式有两种:** **1. {}类型,及数据用{}包含:** **2. []类型,即数据用[]包含:** 下面用个例子,简单的介绍gson如何解析jso ...

最新文章

  1. Deepgreen Greenplum DBA小白普及课之三(备份问题解答)
  2. PIL image.fromarray()函数
  3. jQuery中each的break和continue
  4. yum因被锁定导致无法执行相关操作的解决方法
  5. php cdi_集成CDI和WebSockets
  6. MyBatis映射文件4(参数获取#{}和${}/select标签详解[返回类型为list])
  7. 听说这家云计算公司要搞事情
  8. Vulkan系列教程—VMA教程(七)—Defragmentation(碎片整理)
  9. Redis入门指南(三)
  10. 四年级计算机上册说课ppt,四年级上册《画长方形》说课稿
  11. (四)keycloak 自定义用户(SPI)开发
  12. k8s笔记20--基于 K8S 的 cicd 概述
  13. HTML5期末大作业:关于我的家乡主题设计——四川成都(4页) HTML+CSS+JavaScript
  14. SQL Server安装提示安装程序无法通过windows update服务搜索更新
  15. 【C++】什么情况下会产生临时变量
  16. 百度OCR java-SDK做图文识别
  17. android开机动画bootanimation 分析
  18. 初学python心得1000字实训_数学教学1000字六年级心得大全
  19. Linux下使用yay搜索软件出错
  20. 机器学习教程 之 半监督学习 Tri-training方法 (论文、数据集、代码)

热门文章

  1. 前端学习(130):HTML和CSS发展历史
  2. 第一百二十四期:2019年臭名昭著的勒索软件,网络钓鱼和僵尸网络
  3. eclipse启动报错No java virtual machine was found after seearching the locations:XXXXX
  4. 从像素坐标到相机坐标_【视觉知识】机器视觉几何坐标概论
  5. google 确定某点海拔高_“湘能楚天”牌变电站的威宁之旅(一)|高海拔下如何实现与茫茫雪原环境的共生?...
  6. git 为什么不能断点_跟我一起学docker(九)--持续系统集成了解下git
  7. Centos7静态ip设置(亲测有效)
  8. 如何给APK文件签名
  9. mysql列属性auto(mysql笔记四)
  10. ubuntu 10.4非法关机后上不了网