加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java之JSON数组解析

发布时间:2020-12-15 07:14:44 所属栏目:Java 来源:网络整理
导读:最近打通博客园相关API和其它第三方API,由于我开发的系统内部需要调用较多的第三方API,所以用到了SpringCloud中的Feign。 由于之前开发的系统基本上除了支付是用的微信或支付宝以及智能门锁用的是第三方之外,其它很少涉及。 今天在做迁移博客数据的时候发

最近打通博客园相关API和其它第三方API,由于我开发的系统内部需要调用较多的第三方API,所以用到了SpringCloud中的Feign。

由于之前开发的系统基本上除了支付是用的微信或支付宝以及智能门锁用的是第三方之外,其它很少涉及。

今天在做迁移博客数据的时候发现,通过Feign调用第三方时解析数组出现问题。

出现这样类似的错误,如下:

A JSONObject text must begin with '{' at character 1 of 1

问题原因是因为我所返回的数据是这样的格式[{}],例如:

[
    {
        "Id": 13086998,TitleSLF4J: Class path contains multiple SLF4J bindings."Urlhttp://www.cnblogs.com/youcong/p/13086998.htmlDescription错误信息: SLF4J Warning: Class Path Contains Multiple SLF4J Bindings 错误原因:我个人博客系统一个爬虫组件用到webmagic,而webmagic与lomback中的slf有冲突。 解决办法(webmagic排除相关依赖即可): <!-- Author挑战者VBlogAppyoucongAvatarhttps://pic.cnblogs.com/face/1255290/20190518211156.pngPostDate2020-06-10T21:15:00ViewCount11CommentCount0DiggCount
    },{
        13086991SpringCloud之Securityhttp://www.cnblogs.com/youcong/p/13086991.htmlSpring Security是Spring提供的一个安全框架,提供认证和授权功能,最主要的是它提供了简单的使用方式,同时又有很高的灵活性,简单,灵活,强大。 我个人博客系统采用的权限框架就是Spring Security,正好整合到SpringCloud里面。一般系统里关于角色方面通常有这么几张表2020-06-10T21:14:0015013066768SpringCloud之Confighttp://www.cnblogs.com/youcong/p/13066768.html配置中心,也就是SpringCloud中的Config组件,主要应用在哪些方面? 配置文件方便维护 配置文件内容安全和权限 更新项目配置不需要重启 本文主要围绕两个方面,一个是Config Server,另一个是Config Client。还是以我个人博客系统其中的一个模块为例。 一、搭建Confi2020-06-08T21:07:00813066734SpringCloud之Zuulhttp://www.cnblogs.com/youcong/p/13066734.html使用SpringCloud Zuul实现网关代理。 一、Maven依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</2020-06-08T21:06:001913066804SpringCloud之Ribbonhttp://www.cnblogs.com/youcong/p/13066804.htmlSpringCloud通过Ribbon实现负载均衡。 一、添加Maven依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-clien2020-06-08T21:05:001013066706SpringCloud之Hystrixhttp://www.cnblogs.com/youcong/p/13066706.html在微服务架构中,微服务之间互相依赖较大,相互之间调用必不可免的会失败。但当下游服务A因为瞬时流量导致服务崩溃,其他依赖于A服务的B、C服务由于调用A服务超时耗费了大量的资源,长时间下去,B、C服务也会崩溃。Hystrix就是用来解决服务之间相互调用失败,避免产生蝴蝶效应的熔断器,以及提供降级选项。H2020-06-08T21:04:001413066686SpringCloud之Feignhttp://www.cnblogs.com/youcong/p/13066686.html以我个人写的博客系统为例,请求其它微服务API。 一、添加Maven依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId>2020-06-08T21:03:0013042794SpringCloud之服务注册中心和提供者(Eureka Server和Eureka Client)http://www.cnblogs.com/youcong/p/13042794.html一、使用Eureka Server搭建服务注册中心 1.Maven依赖 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-2020-06-08T21:01:001713027193GitHub Pages Hexo 配置来自阿里云的域名或腾讯云的域名http://www.cnblogs.com/youcong/p/13027193.html参考地址如下(亲试有效,我的博客应该试过了,可以指向我的域名,之所以我没有指向是因为博客的阅读量和访问等目前不能迁移所以就不做指向了):Github个人博客:绑定域名 腾讯云GitHub Pages Hexo 配置来自阿里云的域名2020-06-08T20:59:0013066658博客园开放API如何使用http://www.cnblogs.com/youcong/p/13066658.html业务背景:我通过weblogic这个Java爬虫框架是能够爬取得到博客园的大多数数据,但后来得知博客园有自己的开放API,通过这个开放API可以做一些事情,比方说实现一个关于博客园文章的小程序阅读、或者想学习go、node.js、flutter或uniapp用其实现一个CMS应用。 一、API KE2020-06-08T20:55:0025
    }
]

直接用JSONObject解析是不行的,需要用JSONArray去做。

解决问题核心代码:

String result = cnBlogApiService.getPersonalBlogPostList(pageIndex,accessToken); //取第三方API返回的JSON数据


      JSONArray jsonArray = new JSONArray(result);
      
      if(jsonArray.size()>){
          for(int i = 0 ;i<jsonArray.size();i++){
              JSONObject jsonObject =jsonArray.getJSONObject(i);
              System.out.println(js:"+jsonObject.getStr());
          }
      }

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读