解析json字符串可以像解析DOM一样,解析每一个节点。Gson的jar包中提供了JsonParser类,专门用于解析json字符串的,注意只是json节点的内容解析出来,并不像前两节把整个json字符串反序列化为一个对象。

public static void main(String[] args) {
        String jsonString = "{\"id\":1, \"name\":\"lzj\", \"cars\":[\"audi\", \"baoma\", \"benci\"]}";
        JsonParser parser = new JsonParser();
        JsonElement jsonNode = parser.parse(jsonString);
        if (jsonNode.isJsonObject()) {
            JsonObject jsonObject = jsonNode.getAsJsonObject();
            JsonElement jsonElementId = jsonObject.get("id");
            int id = jsonElementId.getAsInt();
            System.out.println("id : " + id);

JsonElement jsonElementName = jsonObject.get("name");
            String name = jsonElementName.getAsString();
            System.out.println("name : " + name);

JsonElement jsonElementCars = jsonObject.get("cars");
            JsonArray arrays = jsonElementCars.getAsJsonArray();
            for(int i=0; i<arrays.size(); i++){
                JsonElement jsonElementArray = arrays.get(i);
                String car = jsonElementArray.getAsString();
                System.out.println("car" + i + " : " + car);
            }
        }
    }

运行程序,输出:

id : 1

name : lzj

car0 : audi

car1 : baoma

car2 : benci

用JsonParser解析json树模型相关推荐

  1. 2.1、用JsonParser解析json树模型

    解析json字符串可以像解析DOM一样,解析每一个节点.Gson的jar包中提供了JsonParser类,专门用于解析json字符串的,注意只是json节点的内容解析出来,并不像前两节把整个json字 ...

  2. 介绍Jackson JsonParser解析json

    介绍Jackson JsonParser解析json 前文介绍了通过JsonNode解析json,本文深入底层工具JsonParser的用法. 1. 概述 实际应用中经常需要解析json数据,如查询N ...

  3. 7. Jackson用树模型处理JSON是必备技能,不信你看

    每棵大树,都曾只是一粒种子.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BA ...

  4. Gson实现自定义解析json格式

    客户端跟服务器交互的时候我们使用json实现 但是 在交互的时候除了传送json对象数据意外 我们还需要传输标志位等 比如我们现在的交互方式格式 对象 { "data": { &q ...

  5. Java(24):GSON - JsonParser将 JSON 字符串解析为 Java 对象的树结构

    GSONJsonParser类可以将 JSON 字符串或流解析为 Java 对象的树结构. 解析过程中会用到:JsonParse,JsonElement,还有 JsonObject 和 JsonArr ...

  6. IOS15之JSON的解析字典转模型

    IOS15之JSON的解析字典转模型 IOS15字典转模型 基于 iPhone13运行的. 涉及KVC, #import <Foundation/Foundation.h> NS_ASSU ...

  7. Go语言解析Json(使用jsonparser)

    原文地址:https://blog.csdn.net/benben_2015/article/details/81119804 jsonparser  github地址:https://github. ...

  8. 004_Gson树模型

    1. 树模型准备JSON文档的内存树表示.它构建了一个JsonObject节点树.它是一种灵活的方法, 类似于XML的DOM解析器. 2. 从JSON创建树 2.1. 在读取JSON之后, JsonP ...

  9. flex bison解析json文件_每秒解析千兆字节的 JSON 解析器开源了

    本文转自我们的网站 InfoQ,译者无明.除了推荐 simdjson 之外,还想测试一下微信平台编辑器的代码样式功能. 事实证明,微信文章的代码展示能力很强了.非常棒. 近日,GitHub 开源了一 ...

最新文章

  1. LISP标注路线桩号_CAD插件标桩号的AutoLISP程序语言求解释并译成中文,谢谢
  2. php curl实现get请求,PHP中使用curl实现Get和Post请求 | 严佳冬
  3. Unitest框架的使用(三)TestSkip和TestSuite方法
  4. iOS 10.3下解决Fiddler代理抓包ssl证书信任问题
  5. 初级c 语言题库,初级计算机考试题库
  6. Vue.directive注册指令
  7. 科研_今天,我们怎么做科研?
  8. 编译OpenJDK12:Target CPU mismatch. We are building for x86_64 but CL is for ; expected x64
  9. java语言程序设计 第八版 基础篇_Java语言程序设计基础篇(第八版)编程8.7答案
  10. Servlet中上传下载模板代码
  11. C++实现Vgg19分类器(四)主函数
  12. mac 安装apk包 =》 adb (安装android 包)
  13. Liskov Substitution Principle
  14. 【LeetCode 深度优先搜索专项】不同岛屿的数量 II(711)
  15. 君康人寿2019年排名_君康人寿保险靠谱吗?
  16. linux redis密码修改,Linux redis 安装并且修改密码
  17. 系统架构师设计培训心得之二——架构设计
  18. Visp系列学习二:visp显示和visp_ros获取图像
  19. 计算机组成原理白中英思维导图
  20. 数据分析中缺失值的处理方法

热门文章

  1. GitHub如何使用
  2. macvlan源码分析
  3. 魅蓝note6的android怎么升级,魅蓝note6怎么把应用安装到sd卡
  4. 零碎知识点之二:循环平稳信号
  5. 推断统计学 假设检验 分布
  6. Unity(Animation和Animator)
  7. 使用计算机制作数字文本格式,计算机中数字、文字、图像、声音和视频的表示与编码...
  8. AUM、MAU与DAU
  9. 信号量机制实现进程互斥与同步,生产者消费者
  10. Linux关闭防火墙、设置开放端口