数据探索之道:查询Web API数据中的JSON字符串列
前言
在当今数据驱动的时代,对数据进行探索和分析变得愈发关键。Web API作为广泛应用的数据源,提供了丰富的信息和资源。然而,面对包含JSON字符串列的Web API数据时,我们常常遇到一个挑战:如何高效灵活地处理和查询这些数据?这个问题在数据探索和提取过程中频繁出现。因此小编今天以葡萄城公司的嵌入式BI工具——Wyn商业智能为例,给大家介绍一下如何查询Web API数据中的JSON字符串列。
环境准备
JSON字符串示例:
{
"TimeStamp": 756812384571,
"MethodName": "GetLedger",
"Message":
{
"ErrorCode": 1,
"Message": "获取数据成功"
},
"Result":
[{
"id": 57,
"name": "123",
"type": "机组凝结水精处理台账",
"unit": 1,
"description": "",
"creator_id": 10,
"creationtime": "2023-12-22T16:54:28.880858",
"modification_id": 11,
"modificationtime": "2023-13-22T16:54:28.880858",
"contentjson": "{\"time\":\"2023-12-01\",\"PHZX\":\"1\"}",
"rpt_date": "2023-12-01"
}],
"Code": 0,
"OtherMsg": null,
"Error": null
}
操作步骤
1)创建JSON数据源


2)填写数据源
源类型选择嵌入式,数据源填写Json字符串。(可以选择环境准备中的示例Json字符串,也可以选择其他的Json字符串)

3)预查询
填写完数据源之后,下一步时对数据进行SQL预查询,保证JSON字符串中的数据可以被查询出来。
编写SQL查询语句:
/**该语句是用来查询Json字符串中Result的字段id、name和rpt_date以及contentjson的time和PHZX**/
select
tmp.id, tmp.name,tmp.rpt_date, tmp1.time, tmp1.PHZX
from
UnwindJson(@source, '$.Result') tmp
with
(
id integer '$.id',
name varchar '$.name',
rpt_date datetime '$.rpt_date',
contentjson varchar
)
Outer Apply UnwindJson(contentjson) tmp1
with
(
time datetime '$.time',
PHZX integer
)
SQL语句中用到的JSON函数:
UnwindJson:一种表值类型的函数,可分析 JSON 文本,并以行和列的形式返回 JSON 输入的对象和属性。换句话说,UnwindJson 对 JSON 文档提供行集视图,并可以指定行集中的列以及用于填充列的 JSON 属性路径,它返回一个虚拟表。
With:用于指示 UnwindJson 如何解析 JSON内容并填充列数据。一个 with 子句中包含几个(至少一个)列定义,每个都有一个列名,一个数据类型和一个可选的 JsonPath 描述符。
Outer Apply:与Join 类似,也是对两个表进行操作,子查询语句可以作为内部表。
更多JSON函数解释可以点击这里查看。
编写完SQL语句之后将其粘贴到预查询的文本框中:

4)检查结果是否正确
现在小编已经将Json字符串和对应的SQL查询语句粘贴进来,下一步就是需要检查SQL语句是否可以查询出来Json字符串中的数据,点击【下一步】,并跳转到数据显示界面,如下图所示。SQL中查询的5个字段的值已经显示出来,并且和Json字符串中的值是一样的。至此就完成了Web API数据中的JSON字符串列查询的全步骤。

总结
以上就是查询一个Web API数据中的JSON字符串列的全过程,如果您想了解更多关于Json数据连接的信息,欢迎查看这篇参考资料。
数据探索之道:查询Web API数据中的JSON字符串列的更多相关文章
- [译] 在Web API 2 中实现带JSON的Patch请求
原文链接:The Patch Verb in Web API 2 with JSON 我想在.NET4.6 Web API 2 项目中使用Patch更新一个大对象中的某个字断,这才意识到我以前都没有用 ...
- Web API项目中使用Area对业务进行分类管理
在之前开发的很多Web API项目中,为了方便以及快速开发,往往把整个Web API的控制器放在基目录的Controllers目录中,但随着业务越来越复杂,这样Controllers目录中的文件就增加 ...
- ASP.NET Web API 配置返回的json字段的格式以及Action返回HttpResponseMessage类型和IHttpActionResult类型
1. 对于返回的Json对象格式是以“帕斯卡”风格的(例如“FirstName”),然而我们的Api有很大的可能被带有Javascript的客户端消费,对于JS开发者来说可能更适合“驼峰”风格(例如” ...
- 从ASP.Net Core Web Api模板中移除MVC Razor依赖项
前言 :本篇文章,我将会介绍如何在不包括MVC / Razor功能和包的情况下,添加最少的依赖项到ASP.NET Core Web API项目中. 一.MVC VS WebApi (1)在ASP. ...
- ASP.NET Web API 2 中的属性路由使用(转载)
转载地址:ASP.NET Web API 2 中的属性路由使用
- Web API 2中的属性路由
Web API 2中的属性路由 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.ht ...
- 【Web API系列教程】1.2 — Web API 2中的Action Results
前言 本节的主题是ASP.NET Web API怎样将控制器动作的返回值转换成HTTP的响应消息. Web API控制器动作能够返回下列的不论什么值: 1. void 2. HttpResponseM ...
- 说说Web API数据格式化——Json
题外话 一同事离职了,我去上厕所的路上正巧碰到他办完离职手续出来,抱着他的全部家当,最值钱的可能就是那个两块钱的蓝色杯子和手中的雨伞了.在一块儿走向厕所的长长楼道里,我对他说:丫的,你是不是找到别的发 ...
- 解决GJson 获取web api数据出现Not a JsonObject问题
服务器端web api服务采用asp.net web api编写,对请求的数据序列化成Json格式的字符串进行传递. 客户端采用Java进行接收处理,处理采用GJson进行解析,出现Not a Jso ...
- 6. 基础查(会员信息) - 创建查询Web Api - 配置Table Permission
Power Portal中的Web API可以对门户页面中所有的Microsoft Dataverse实体进行创建.更新和删除操作.我们可以直接使用门户Web API对产品创建新客户.更新联系人或 ...
随机推荐
- EF Core预编译模型Compiled Model
前言 最近还在和 npgsql 与 EF Core 斗争,由于 EF Core 暂时还不支持 AOT,因此在 AOT 应用程序中使用 EF Core 时,会提示问题: 听这个意思,似乎使用 Compi ...
- LangChain内幕指南
1.概述 在人工智能迅速演进的时代,诸如Open AI的ChatGPT和Google的Bard等大型语言模型(LLMs)正彻底改变我们与技术互动的方式.这些技术巨头和SaaS公司正在竞相利用LLMs的 ...
- QT最小化程序到托盘运行
MinTray 说明 实现程序关闭时最小化托盘的功能 托盘实现显示主页面和退出的功能 支持扩展,直接引用TrayIcon类即可,对外暴露接口 单例实现,可复用 警告 注:博主所有资源永久免费,若有帮助 ...
- java监听全局组合键
1. jintellitype pom <!-- 不能注册多个组合键比如alt+abc --> <!-- https://mvnrepository.com/artifact/com ...
- 使用Visual Studio 2022 创建lib和dll并使用
对于一个经常写javaWeb的人来说,使用Visual Studio似乎没什么必要,但是对于使用ffi的人来说,使用c或c++编译器,似乎是必不可少的,下面我将讲述如何用Visual Studio 2 ...
- Spring整合Quartz简单入门
创建一个Web项目 导入相关jar包 <?xml version="1.0" encoding="UTF-8"?> <project xmln ...
- 云端开炉,线上训练,Bert-vits2-v2.2云端线上训练和推理实践(基于GoogleColab)
假如我们一定要说深度学习入门会有一定的门槛,那么设备成本是一个无法避开的话题.深度学习模型通常需要大量的计算资源来进行训练和推理.较大规模的深度学习模型和复杂的数据集需要更高的计算能力才能进行有效的训 ...
- ElasticSearch-document文档数据-增删改
文档就是相当于每条记录. 每个文档(数据记录行)都有几个元数据,分别是: _index,表示该文档是那个索引中的. _type,表示文档的类型 _id,文档的唯一ID编号 _score,相关性分数. ...
- 告别复杂排版:Markdown语法指南
导语:Markdown作为一种轻量级的标记语言,以其简洁.易学的语法和强大的兼容性赢得了广泛的应用.本文将为您详细介绍Markdown的起源.基本语法及其在写作.博客.项目管理等场景的应用,带您领略这 ...
- 神经网络优化篇:详解梯度检验(Gradient checking)
梯度检验 梯度检验帮节省了很多时间,也多次帮发现backprop实施过程中的bug,接下来,看看如何利用它来调试或检验backprop的实施是否正确. 假设的网络中含有下列参数,\(W^{[1]}\) ...