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

陕西省建设监理协会网站搜索数据

陕西省建设监理协会网站,搜索数据,金口河移动网站建设,php免费开源建站系统在我们经常调试微服务或者使用 Elasticsearch API 时,经常会使用curl 来进行调试。但是有时我们的输出不尽如意。显示的不是一 pretty 格式进行输出的。我们有时还必须借助于其他的一些网站工具,比如 Best JSON Formatter and JSON Validator: Online JS…

在我们经常调试微服务或者使用 Elasticsearch API 时,经常会使用curl 来进行调试。但是有时我们的输出不尽如意。显示的不是一 pretty 格式进行输出的。我们有时还必须借助于其他的一些网站工具,比如 Best JSON Formatter and JSON Validator: Online JSON Formatter  或者 JSON Formatter & Validator 来帮我来验证。

在 Elasticsearch 的输出中经常我们会看到如下格式的命令:

curl -k -u elastic:gV4pgxNCTi5y*80GmoqN https://localhost:9200?pretty=true

这里的 pretty 就是要求我们要以 JSON 的格式来进行显示。尽管我们上面的命令可以省去 pretty=true 这个选项,可以还是可以得到漂亮的输出:

curl -k -u elastic:gV4pgxNCTi5y*80GmoqN https://localhost:9200
{"name" : "liuxgm.local","cluster_name" : "elasticsearch","cluster_uuid" : "xz4jLE_USfmbvkSyvG138w","version" : {"number" : "8.6.1","build_flavor" : "default","build_type" : "tar","build_hash" : "180c9830da956993e59e2cd70eb32b5e383ea42c","build_date" : "2023-01-24T21:35:11.506992272Z","build_snapshot" : false,"lucene_version" : "9.4.2","minimum_wire_compatibility_version" : "7.17.0","minimum_index_compatibility_version" : "7.0.0"},"tagline" : "You Know, for Search"
}

我们可以看如下的命令的输出:

curl -k  https://localhost:9200?pretty=true
curl -k  https://localhost:9200?pretty=true
{"error" : {"root_cause" : [{"type" : "security_exception","reason" : "missing authentication credentials for REST request [/?pretty=true]","header" : {"WWW-Authenticate" : ["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]}}],"type" : "security_exception","reason" : "missing authentication credentials for REST request [/?pretty=true]","header" : {"WWW-Authenticate" : ["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]}},"status" : 401
}

我们可以看到很漂亮的输出。一旦我们省去 pretty=true 这个选项,那么我们看看输出的结果是什么:

$ curl -k  https://localhost:9200
{"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]}},"status":401}$

很显然,我们的显示非常不漂亮,很难看懂它的意思。

在 Elasticsearch 中,我们的很多命令都可以使用 pretty=true 选项来变得更加美观。

但是在实际的用例中,有很多并不像 Elasticsearch 那样。它们的命令中并没有像 Elasticsearch 那样提供 pretty=true 这样的选项。那么我们该怎么办呢?

在下面,我来介绍几种方案:

使用 json_pp

我们尝试使用如下的命令:

echo '{"type":"Bar","id":"1","title":"Foo"}' | json_pp -json_opt pretty,canonical
$ echo '{"type":"Bar","id":"1","title":"Foo"}' | json_pp -json_opt pretty,canonical
{"id" : "1","title" : "Foo","type" : "Bar"
}

很显然,它能帮我们把 JSON 的输出变得很漂亮。我们来尝试一下上面的 Elasticsearch 访问:

$ curl -k  https://localhost:9200 | json_pp -json_opt pretty,canonical% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100   459  100   459    0     0  29436      0 --:--:-- --:--:-- --:--:-- 38250
{"error" : {"header" : {"WWW-Authenticate" : ["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]},"reason" : "missing authentication credentials for REST request [/]","root_cause" : [{"header" : {"WWW-Authenticate" : ["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]},"reason" : "missing authentication credentials for REST request [/]","type" : "security_exception"}],"type" : "security_exception"},"status" : 401
}

很显然,它也工作正常。

使用 jq

我们需要单独安装 jq。我们使用如下的命令来进行验证:

echo '{"type":"Bar","id":"1","title":"Foo"}' | jq '.'
$ echo '{"type":"Bar","id":"1","title":"Foo"}' | jq '.'
{"type": "Bar","id": "1","title": "Foo"
}

显然这种方法比上面的方法更为简洁。我们也可以使用它来试一下 Elasticsearch 的访问:

curl -k  https://localhost:9200 | jq '.'

它还有彩色的输出。显得非常漂亮。

 

使用 python

我们使用如下的例子来进行展示:

echo '{"type":"Bar","id":"1","title":"Foo"}' | python -m json.tool
$ echo '{"type":"Bar","id":"1","title":"Foo"}' | python -m json.tool
{"type": "Bar","id": "1","title": "Foo"
}

尝试一下 Elasticsearch API:

它和 jq 输出的结果很相似,除了没有彩色的显示。

我们还可以使用 curljson 命令:

pip install curljson
 curljson -k https://localhost:9200
{"error": {"header": {"WWW-Authenticate": ["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]},"reason": "missing authentication credentials for REST request [/]","root_cause": [{"header": {"WWW-Authenticate": ["Basic realm=\"security\" charset=\"UTF-8\"","Bearer realm=\"security\"","ApiKey"]},"reason": "missing authentication credentials for REST request [/]","type": "security_exception"}],"type": "security_exception"},"status": 401
}

使用 Nodejs

echo '{"type":"Bar","id":"1","title":"Foo"}' | node -e "console.log( JSON.stringify( JSON.parse(require('fs').readFileSync(0) ), 0, 1 ))"
$ echo '{"type":"Bar","id":"1","title":"Foo"}' | node -e "console.log( JSON.stringify( JSON.parse(require('fs').readFileSync(0) ), 0, 1 ))"
{"type": "Bar","id": "1","title": "Foo"
}

很显然这种方法非常笨拙。你也可以采用如下的方法:

echo '{"foo": "lorem", "bar": "ipsum"}' | npx json
echo '{"foo": "lorem", "bar": "ipsum"}' | npx json
{"foo": "lorem","bar": "ipsum"
}

使用 json_reformat

在 Linux 机器上安装 yajl-tools 安装包,然后使用如下的命令:

echo '{"foo": "lorem", "bar": "ipsum"}' | json_reformat
{"foo": "lorem","bar": "ipsum"
}
http://www.tj-hxxt.cn/news/13447.html

相关文章:

  • 广西网站建设推荐百度如何添加店铺位置信息
  • 广东省网站免备案aso安卓优化公司
  • 深圳公司网站建设设计百度视频
  • 网页布局网站开发客户的70个渠道
  • 家庭宽带做网站服务器吗在线培训系统平台
  • 成都网站开发制作seo外贸公司推广
  • 重庆最专业的房产网站建设什么是百度指数
  • 网站建设规划方案ppt最新互联网项目平台网站
  • 天津个人网站建设优化教程网
  • 有没有个人做网站赚钱沈阳优化推广哪家好
  • 电商数据分析网站绍兴seo公司
  • 西安幼儿园网站制作seo标题优化裤子关键词
  • 武汉手机网站建设信息百度搜索排名与点击有关吗
  • 淘宝做导航网站有哪些功能吗网络seo公司
  • 有没有专门发布毕业设计代做网站杭州百度seo
  • 建设的基本流程网站网上营销新观察网
  • 上海建站网站简洁案例搜索引擎优化师工资
  • 宿迁做企业网站达州seo
  • html网站开头怎么做的互联网企业营销策略
  • 建站平台和网站建设的区别网站推广联盟
  • 佛山龙江做网站的站长工具站长之家官网
  • 上海做网站费用青岛seo
  • 怎么自己搭建一个网站无货源网店怎么开
  • 建设民政局网站需要多少钱企业官网seo
  • 做网站都需要建哪些文件夹百度大搜
  • 电商设计素材网网页seo优化
  • 深圳 网站定制网络营销的主要方式和技巧
  • 中国发布网排名优化seo
  • 小米的网站是哪个公司做的seo实战培训课程
  • 外综服网站开发杭州正规引流推广公司