当前位置: 首页 > wzjs >正文

哈密建设集团有限责任公司网站华为荣耀官网手机旗舰店

哈密建设集团有限责任公司网站,华为荣耀官网手机旗舰店,东城企业网站建设,毕设做购物网站容易吗文章目录 一、简要概述二、java工程实现1. 定义main方法2. 测试运行3. 源码放送 一、简要概述 我们在通用查询类接口开发的另类思路中,关于接口数据的更新,提出了两种方案: 文件监听 #mermaid-svg-oJQjD6jQ8T19XlHA {font-family:"tre…

文章目录

  • 一、简要概述
  • 二、java工程实现
    • 1. 定义main方法
    • 2. 测试运行
    • 3. 源码放送

一、简要概述

我们在通用查询类接口开发的另类思路中,关于接口数据的更新,提出了两种方案:

  1. 文件监听
监听目录
解析变动文件
写入结果文件

2.定时任务

接口获取数据
处理数据
写入结果文件

以上方案,虽然实现了数据更新写入结果文件,但在结果文件的指定上稍麻烦

联想到lunix下有如下命令,可实现将结果输出到指定的文件中:

echo 'hello world!' > 1.txt

试着执行:

echo "{\"_index\":\"book_shop\",\"_type\":\"it_book\",\"_id\":\"1\",\"_score\":1.0, \"_source\":{\"name\": \"Java编程思想(第4版)\",\"author\": \"[美] Bruce Eckel\",\"category\": \"编程语言\", \"price\": 109.0,\"publisher\": \"机械工业出版社\",\"date\": \"2007-06-01\",\"tags\": [ \"Java\", \"编程语言\" ]}}" > /work/2.txt

发现可以把json字符串写入指定文件,> 后面的路径,如上面的1.txt、/work/2.txt可以为相对路径绝对路径

二、java工程实现

我们只需要实现:在main方法中将结果的json字符串输出

注意点: 需要避免将日志打印到console,具体解决办法为日志使用slf4j,并引入slf4j-simple或slf4j-nop

1. 定义main方法


import java.io.IOException;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;import com.fly.json.entity.Article;
import com.fly.json.entity.BlogData;
import com.fly.json.entity.Record;
import com.fly.json.utils.JsonBeanUtils;
import com.fly.json.utils.ShellExecutor;import lombok.extern.slf4j.Slf4j;/*** 使用slf4j-simple(或slf4j-nop)规避log4j-slf4j-impl将日志打印到console<br>* slf4j-simple默认情況下只输出info以上(包含info)级別的日志, 且仅把日志输入到System.err* */
@Slf4j
public class JsonDataPrint
{/*** 验证: syso输出内容,jar运行可写入文件<br>* 运行:java -jar easy-json-0.0.1.jar > /work/1.txt* * @param args* @throws IOException*/public static void main(String[] args)throws IOException{// windows下Jar运行返回值中文乱码,unix下Jar运行返回值正常List<Article> articles = IntStream.rangeClosed(1, 2).mapToObj(i -> String.format("curl -e \"blog.csdn.net\" \"https://blog.csdn.net/community/home-api/v1/get-business-list?page=%s&size=10&businessType=blog&username=qq_16127313\"", i)).map(cmd -> ShellExecutor.execute(cmd)).map(json -> parseToBlogData(json)).filter(blog -> blog != null).map(blog -> blog.getData().getList()).flatMap(List::stream).collect(Collectors.toList());// 构造对象BlogData blogData = new BlogData().setData(new Record().setList(articles));String jsonData = JsonBeanUtils.beanToJson(blogData, true);System.out.println(jsonData);}/*** 解析json为BlogData* * @param json* @return*/private static BlogData parseToBlogData(String json){try{return JsonBeanUtils.jsonToBean(json, BlogData.class, true);}catch (IOException e){log.error(e.getMessage(), e);return null;}}
}

2. 测试运行

在项目根目录执行mvn clean package 会生成jar和docker镜像文件,注意需要在安装了java、maven、docker环境执行。

然后按下面的方式运行,便可实现随时灵活指定输出文件位置的功能。

java -jar easy-json-0.0.1.jar > /work/data.jsondocker run registry.cn-shanghai.aliyuncs.com/00fly/easy-json:0.0.1 > data.json

3. 源码放送

https://gitcode.com/00fly/easy-json


有任何问题和建议,都可以向我提问讨论,大家一起进步,谢谢!

-over-

http://www.dtcms.com/wzjs/560227.html

相关文章:

  • 网站建设模板的上海搜索推广
  • 网站建设推广报价单室内设计效果图的网站
  • 做美食软件视频网站有哪些厦门市建设工程在哪备案网站
  • 快速建立网站如何创建网址快捷方式
  • asp 网站权限设计wordpress安装不来
  • 东莞高端网站建设首页排名个人备案的域名拿来做经营网站
  • 百度站长统计工具房屋中介网站建设方案
  • wordpress附件数据库福田网站建设乐云seo
  • 专门做中式的设计网站个人网站模板王
  • 企业商城网站开发建设汽车营销策划方案ppt
  • 网站开发需要哪些条件免费建设网站那个好
  • 做服务网站成都网站建设哪家好文章
  • 遵义公司做网站企业展示网站建设
  • 怎样用织梦建设网站微信营销的模式
  • 做运营常用的网站福田欧曼服务站电话
  • 网站开发工程师绩效考核免费公司网址
  • 平面设计网站培训中心奥尔马手表官方网站
  • 网站开发前端课程外国语学院英文网站建设
  • 自己做网站做淘宝联盟如何进行新产品的推广
  • 哪个网站看电视剧最全还免费温州企业自助建站系统
  • 深圳专业做网站建设wordpress 复杂表单
  • 网站规划思想方法有哪些内容建设网站有哪些参考文献
  • 视频网站如何建设深汕特别合作区
  • 古色古香 网站模板大兴网站开发网站建设报价
  • 创建网站目录权限不备案的网站很慢
  • 桂林网站建设哪家好什么是网站托管
  • 石家庄做网络推广的网站网站建设好与管理在哪就业
  • 756ka网站建设alexa排名是什么意思
  • 备案 增加网站花卉网站建设的总结与
  • 营销类网站 英文旅游电子商务网站模板