首页 > 编程语言 >fastjson提取json返回值(java)

fastjson提取json返回值(java)

时间:2022-12-26 18:01:41浏览次数:64  
标签:fastjson java JSONObject json com ISBN data

返回json数据:

{
    "data": {
        "offset": 2,
        "total": 2952,
        "restTotal": 2950,
        "dataList": [{
            "ISBN": "9787539197456",
            "bookStar": "93.6",
            "tag": "",
            "commentTimes": "1487",
            "price": "58.00",
            "star50Percent": "",
            "star40Percent": "",
            "star30Percent": "",
            "star20Percent": "",
            "star10Percent": ""
        }, {
            "ISBN": "9787539197449",
            "bookStar": "95.8",
            "tag": "",
            "commentTimes": "15711",
            "price": "25.00",
            "star50Percent": "",
            "star40Percent": "",
            "star30Percent": "",
            "star20Percent": "",
            "star10Percent": ""
        }]
    },
    "error": "success",
    "error_Description": "操作成功"
}

使用fastjson取值:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;



{
        JSONObject json_o = GetJson(调用接口的方法,得到返回值);//方法就是一个Httpclient的get

        //得到data的json对象
        JSONObject jsondata = JSON.parseObject(json_o.getString("data"));
        //得到data中的dataList对象,并用jsonarray保存
        JSONArray jsonarr = jsondata.getJSONArray("dataList");
        //使用for循环遍历datalist里的json值,如:price,ISBN
        for(int i = 0;i<jsonarr.size();i++){
            JSONObject jsonb = jsonarr.getJSONObject(i);
            String price = jsonb.getString("price");
            String ISBN = jsonb.getString("ISBN");
            //其他值的获取相同.取到值后再入库
        }
        //获取total值
        String total = jsondata.getString("total");
        //获取error值
        String error = json_o.getString("error"));

}

fastjson文档参考:https://www.w3cschool.cn/fastjson/fastjson-api.html

标签:fastjson,java,JSONObject,json,com,ISBN,data
From: https://www.cnblogs.com/gxj521test/p/17006350.html

相关文章

  • JavaScript 中0.1+0.2 不等于 0.3 的问题
    在JavaScript中,有时候你可能会发现0.1+0.2不等于0.3。这是因为JavaScript使用的是浮点数来表示小数,而浮点数在计算机内部是用二进制表示的,这导致了一些精度问题。......
  • 如何在Java里进行数学公式计算?
    我们在平常开发的时候,难免会遇到涉及数学公式计算的业务场景。例如给一个公式,(1+P)*T=?,其中P和T是两个变量,当T=11、P=110时,这个公式计算的结果是多少呢?下面给出具体实现的......
  • oss连接出现java.lang.IllegalArgumentException: Oss endpoint can't be empty.问题
    场景:在bootstrap.properties中编写nacos的配置,读取在nacos中定义的数据集连接ossspringboot版本为2.6.8结果就出现了以上错误原因:通过查找资料后发现,在springboot2.4......
  • Java同步器之ReentrantLock源码分析(一)
    一、概述ReentrantLock是Java并发包中提供的一个可重入的互斥锁。ReentrantLock和synchronized在基本用法,行为语义上都是类似的,同样都具有可重入性。只不过相比原生的Syn......
  • JAVA基于权重的抽奖
     如有4个元素A、B、C、D,权重分别为1、2、3、4,随机结果中A:B:C:D的比例要为1:2:3:4。总体思路:累加每个元素的权重A(1)-B(3)-C(6)-D(10),则4个元素的的权重管辖区间分别为[0,1......
  • Java同步器之AQS源码分析
    一、简介AbstractQueuedSynchronizer(简称AQS),抽象的队列式的同步器,是Java并发包实现的基类。AQS用来构建锁和同步器的框架,使用AQS能简单且高效地构造出大量的应用广泛......
  • Java类MemoryUsage查看虚拟机的使用情况
     Arthas是阿里巴巴开源的一款监控java进程的工具,可以有效监控CPU、内存使用情况,更厉害的是可以帮助开发人员深入排查java代码的问题,比如java进程占用cpu过高是哪一个线程......
  • https Java SSL Exception protocol_version
      在java代码中,使用HttpClient爬取https页面时,遇到了这个bug:javax.net.ssl.SSLException:Receivedfatalalert:protocol_version     先奉上初始的代码:1/**2......
  • javascript使用正则表达式替换或者捕获子字符串
    letstring='mutiFile[{"name":"新建文件夹(2).zip","ext":".zip","size":1675876,"path":"/static/upload/2022December/ba145698fcc99fd414f0f4ec6ea418e5.zip"}]';......
  • java获取stream流
    java获取stream流可以通过以下四种方式获取1通过list集合获取,list.stream()List<String>list=newArrayList<>();list.add("北京");list.add("上海");list.add("......