ps : 没啥难点! 总结的两个要点错误请纠正 不想看的直接复制代码运行看结果就行

  1. 简单例子为例 (例子在下面 习惯总结写上面 没有好的排版经验)

    • 简单例子没啥要点了 照着套就行 … 之前用的 javascript 比较简单直接 data.lieks 就是结果
// 先解析
JSONObject object = JSONObject.parseObject(str);
// 想取code的值 直接用object跟想要的属性的值 object.get("code")
System.out.println("code = " + object.get("code"));
// 如果{} 里面还有一个 {}嵌套 就取上层的元素定位 (不知道是不是叫元素知道了叫啥再改) , 这里我想要likes 的值 就是 getJSONObject("data") 然后和上面一样 get("likes") 想要的属性的值就行
Object likes = object.getJSONObject("data").get("likes");
System.out.println("likes = " + likes);

这是简单例子

{"code": 0,"success": true,"data": {"result": 0,"likes": 1,"inlikes": true,"n_dolikes": 0,"show_10_likes_gift": false,"toast": ""}
}

这是简单例子的java代码

  public static void main(String[] args) {// 这是一个小红书点赞的返回值String str = "{\"code\":0,\"success\":true,\"data\":{\"result\":0,\"likes\":1,\"inlikes\":true,\"n_dolikes\":0,\"show_10_likes_gift\":false,\"toast\":\"\"}}";// 先把String对象转换成json对象JSONObject object = JSONObject.parseObject(str);// 取data的JSONObject 因为data里面还是一个json对象所以可以直接get拿到likes的数Object likes = object.getJSONObject("data").get("likes");// 返回 1 失败 不是 1 则是成功System.out.println("likes = " + likes);
}
  1. 复杂例子为例 (也没啥好例子这个比较长…顺手用到做个总结)

    • 这个我上来也容易混淆的就是getJSONArray 和 getJSONObject 什么时候用 , 根据[] 和{} 来决定 []就用getJSONArray(“上一层的值”) 然后getJSONObject(第几个下标) {}就直接getJSONObject(“上一层的值”)
  2. 用法fastjson官网看的找了个最简单的例子复制过来直接套进去了…有兴趣的自己看下其他用法。
  3. 总结 : 大概就这样吧…也不是啥高手,高手也不会拿着个做笔记,最近在做爬虫和逆向以后还要经常解析json,主要还是怕自己忘了。
// 通过 想要取 喜欢 533 和 收藏 203 的值
// data[0]['note_list'][0]['liked_count']   这是用定位工具直接找到要入库的值
// data[0]['note_list'][0]['collected_count']  这是用定位工具直接找到要入库的值
// 先解析
JSONObject object = JSONObject.parseObject(str);
// data 里面是个[] 就是getJSONArray("data")  又是下标0 就是getJSONObject(0)
JSONObject data = object.getJSONArray("data").getJSONObject(0);
// 下面是['note_list'][0] 照着上面再套一次 一模一样就不详述了
JSONObject note_list = data.getJSONArray("note_list").getJSONObject(0);
// 最后拿到 liked_count 和 collected_count 和简单例子讲的一样直接get("liked_count")
Object liked_count = note_list.get("liked_count");
Object collected_count = note_list.get("collected_count");
System.out.println("liked_count = " + liked_count + "  collected_count = " + collected_count);

这是复杂例子

{"code": 0,"success": true,"data": [{"track_id": "","user": {"id": "5b8e8d5dd2bbb00001e824eb","name": "怡倩YIQIAN","image": "https://sns-avatar-qc.xhscdn.com/avatar/5e8eb850e61bf20001dc3b15.jpg?imageView2/2/w/120/format/jpg","followed": false,"red_id": "yiqianbra","nickname": "怡倩YIQIAN","red_official_verify_type": 0,"show_red_official_verify_icon": false,"red_official_verified": false,"level": {"image": ""}},"note_list": [{"id": "601bc6f10000000001001aa6","type": "normal","title": "3招拯救胸部松软没弹性												

Java FastJson解析json字符串 提取键值相关推荐

  1. java如何解析JSON字符串(复杂json解析详解)

    1.什么是JSON字符串? 我们在理解json的时候,不必要过分的扣json到底是哪几个字母的简称,要了解本质. JSON的本质就是字符串,字符串几乎所有的系统都支持,所以json的兼容性好. JSO ...

  2. 使用sql语句解析json字符串

    发现当前数据库对字符串的解析都是使用存储过程,但是大部分公司不建议使用存过,无奈之下写了如下的解析方式: 原始数据如下图: 经过数据分析发现,每个键值对的分隔符是","(两个引号加 ...

  3. 如何在Java中转义JSON字符串-Eclipse IDE技巧

    在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. 这是测试和学习Java中解 ...

  4. uniapp**字符串转Json并提取字段值

    uniapp字符串转Json并提取字段值 JSON有三种格式,每一种写法都和JS中的数据类型很像,可以很轻松的和JS中的数据类型互相转换 一.简单值的形式:JSON的简单值的格式对应着JS中的基础数据 ...

  5. java中gso是什么意思_Java中用Gson解析json字符串

    本文最后更新于2019年9月13日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢! =Start= 缘由: 因为阿里开源的fastjson前段时间爆出的漏洞实在是太多了(而且有些漏洞他 ...

  6. java对象与Json字符串之间的转化(fastjson)

    1. 首先引入jar包 在pom.xml文件里加入下面依赖: <dependency><groupId>com.alibaba</groupId><artif ...

  7. C++ 取json中的某一个值,解析json字符串

    C++ 取json中的某一个值,解析json字符串 C++编程中遇到了需要经常从json中取某一项,又不想用json库文件实现,只能靠自己封装方法 例如这个json {"date" ...

  8. Java解析json字符串和json数组

    Java解析json字符串和json数组 public static Map<String, String> getUploadTransactions(String json){Map& ...

  9. java处理json字符串_常见java对象转换为json字符串处理!!!

    1.JSON简介 1. 概念: JavaScript Object NotationJavaScript对象表示法 Person p = new Person(); p.setName("张 ...

最新文章

  1. 3GPP组织和协议概述
  2. c语言 lis的nlogn算法,ACM竞赛高级算法讲义.doc
  3. 机器学习基础-逻辑回归-09
  4. spring security xml配置详解
  5. html之file标签 --- 图片上传前预览 -- FileReader
  6. 如何实现一个循环显示超长图片的控件
  7. 如何使用 indent 美化你的代码
  8. 如何在关闭ssh连接的情况下,让进程继续运行?
  9. 函数c语言桶排算法,C语言基本排序算法之桶式排序实例
  10. OpenShift 4 之 GitOps(8)用ArgoCD实现的应用迁移、金丝雀部署、DR
  11. 如何用iMazing来管理ios设备音频文件
  12. SQL Server 2008 R2 事务与隔离级别实例讲解
  13. JBoss主要版本下载链接一览
  14. Firemonkey使用Android原生控件一些注意事项
  15. CSS3 ---奔跑的小人
  16. SSM(Spring+SpringMVC+Mybatis) 整合
  17. ohoTips - 最屌的消息弹窗工具!
  18. php生成6位id,6位极品微信号?微信号id名字大全
  19. 一文读懂Auth0与Azure AD的区别
  20. 小米路由器3有信号无网络连接到服务器,小米路由器3上不了网(不能上网)怎么办?...

热门文章

  1. Java并发编程实战读书笔记二
  2. ArcGIS主要功能简介
  3. 对软件架构和企业组织结构的思考
  4. Uboot中start.S源码的指令级的详尽解析【转】
  5. flappy飞行员闯关h5小游戏源码
  6. Charles使用指南Windows
  7. 十天学习Unity3D脚本(一)九个回调
  8. 康奈尔大学计算机专业研究生学校排名,康奈尔大学计算机专业排名2020年高能的总算看过来...
  9. 如何才能搜索微信群和网盘群
  10. java三大框架(ssh)面试题整理