在 kusto 查询中解析 json

2024-01-11

如何使用 KUSTO 查询从 JSON 中提取单个值。

我希望能够读取 SourceSystemId、Message 的值并投影这些值。我还想使用以下 JSON 中的日期作为过滤器。并且仅投影那些日期大于作为外部参数提供的日期的记录。

{{
  "Status": 2,
  "SourceSystemId": "4",
  "RequisitionId": null,
  "Errors": [
    {
      "Code": "8002",
      "Message": "some message",
      "FieldName": "VendorNumber",
      "PartNumber": null
    },
    {
      "Code": "8003",
      "Message": "",
      "FieldName": "PartNumber",
      "PartNumber": ""
    }
  ],
  "SuppName": "SomeSupp",
 "Date":"22/2/2017"
}}

Answer recommended by Microsoft Azure /collectives/azure Collective

假设您有一个名为T,其中有一列名为MyString,它存储您的 JSON 值并键入为string(下面的示例定义了这样的表)。

  1. 您首先需要调用parse_json()在你的专栏上(除非它已经输入为dynamic而不是作为string,在这种情况下您可以跳过此步骤)。
  2. 然后您就可以访问DateJSON 值中的属性和使用todatetime()将其转换为类型datetime.
  3. 之后,您可以通过外部参数进行过滤(dateTimeLowerBound在下面的例子中)。
  4. 最后——你可以project您感兴趣的相关属性(Message位于第一个元素中Errors数组,以及SourceSystemId),并且您可以将它们转换为预期的类型(例如long and string using tolong() and tostring()分别)。

这是例子:

let dateTimeLowerBound = datetime(2017-01-21);
let T = datatable(MyString:string) // this table is just for the example
[
'{"Status": 2, "SourceSystemId": "4", "RequisitionId": null, "Errors": [ { "Code": "8002", "Message": "some message", "FieldName": "VendorNumber", "PartNumber": null }, { "Code": "8003", "Message": "", "FieldName": "PartNumber", "PartNumber": "" } ], "SuppName": "SomeSupp", "Date":"2017-02-22"}'
];
T 
| project MyJson = parse_json(MyString)
| where todatetime(MyJson.Date) > dateTimeLowerBound
| project SourceSystemId = tolong(MyJson.SourceSystemId), Message = tostring(MyJson.Errors[0].Message)

此示例的输出应该是一个包含 2 列的表,名为SourceSystemId and Message, 类型long and string,以及值4 an some message, 分别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 kusto 查询中解析 json 的相关文章

随机推荐

  • 如何设置 Spring Boot 来运行 HTTPS / HTTP 端口

    Spring Boot 有一些属性来配置 Web 端口和 SSL 设置 但是一旦设置了 SSL 证书 http 端口就会变成 https 端口 那么 如何让两个端口同时运行 例如 80 和 443 正如您所看到的 只有一个端口的属性 在本例
  • 将视图添加到constraintLayout,其约束类似于另一个子项

    I have a constraint layout alpha9 with views spread all over it and I have one particular ImageView that I need to repli
  • 如何使用 LINQ 获取用户之间的最新消息?

    我有一个表显示消息之间的关系 像这样 我想获取每个用户的最后一条消息 因此 例如 结果将是表中的 id 91 和 id 92 var messages await dbContext Messages Include x gt x User
  • 安装 MongoDB java 驱动程序

    我对 Java 和 MongoDB 世界都很陌生 我想使用 MongoDB 和 Java 我已经下载了 Java 版 MongoDB 驱动程序 这是一个 jar 文件 我的问题是如何使用这个 Jar 文件 我使用了这个命令 但出现错误 ja
  • 使用 javascript 链接下载 PhantomJS

    我正在尝试抓取以下网站 如果您单击表格右上角标题为 导出数据 的小按钮 则会运行 JavaScript 脚本 并且我的浏览器会下载 csv 格式的文件 我希望能够编写一个 PhantomJS 脚本来自动执行此操作 有任何想法吗 上面的按钮被
  • 如何在 Javascript 中删除“mouseup”事件监听器

    在这里 我拖动一个元素并放到另一个地方 如果我不使用事件侦听器 它会很好地工作 但如果我以这种格式使用它 它不会执行 放置 操作 此链接包含我的代码 带有事件监听器 访问http jsfiddle net vishwateja2000 wH
  • 在 iPad 版 SDK 3.2 中使用 MPMoviePlayerViewController

    我开发了一个 iPhone 应用程序 它运行 MPMoviePlayer 3 2 SDK 之前的版本 没有任何问题 我知道这是一个新手问题 但如何让电影在新的 MPMoviePlayerViewController 中播放 我只收到音频并希
  • 的开始/结束外观转换的调用不平衡

    当我模拟我的应用程序时 我遇到了这个问题 它不是错误或警告 但它出现在我的控制台中 以前有人遇到过这种情况吗 就我而言 当您非常快速地单击表格视图中的两个选项卡时 就会发生此错误 结果导致标题名称错误 后退按钮消失 有人提到 当你推送视图时
  • 让 ASP.MVC2/VS2010 应用程序在 IIS 7.5 中工作

    我最近下载了 VS2010 beta 2 并开始使用 ASP NET MVC2 最初的开发是使用 Casini 完成的 但现在我想从 IIS 7 5 运行该应用程序 我运行的是 Windows 7 我已经安装了 IIS6 元数据库兼容性 并
  • 使用 Python 通过 Binance API 进行交易时出现问题

    我试图在不使用外部库的情况下在美国版 Binance API 上进行交易 我可以使用 GET 请求成功获取价格并显示我的帐户余额urllib 第一个示例代码有效 我可以通过我的API KEY and SECRET KEY没有问题 这些值是私
  • 我什么时候应该关心 std::iostream::sentry?

    网上参考资料对目的的描述相当简短和模糊std iostream sentry 我什么时候应该关心这个小动物 如果只是为了内部使用 为什么要公开呢 每当您需要使用流提取或输出数据时 都会使用它 也就是说 每当你创建一个operator gt
  • 如何在 JavaFX 中设置选项卡名称大小

    我有这个简单的选项卡示例 primaryStage setTitle Tabs Test Group root new Group Scene scene new Scene root 600 500 Color WHITE TabPane
  • 如何在servlet中使用依赖注入?

    如何将对象注入到 servlet 中 我的意思是 我不能使用构造函数 DI 因为 servlet 是由 servlet 容器实例化的 而且我也没有看到为 servlet 实现基于 setter 的 DI 的好方法 我应该使用 servlet
  • RecyclerView 不会立即显示插入的 SQLite 数据

    当用户从FragmentDialog将他的数据输入编辑文本并按保存按钮 数据应立即显示在recyclerView 但这并没有发生 要获取 显示最新数据 您必须重新启动应用程序 我使用了一个临时解决方案 我从FragmentDialog to
  • Android 模拟器启动失败。 emulator64-arm:可执行文件中的 CPU 类型错误

    昨天我决定开始在我的 mac Snow Leopard 10 6 8 32 位上开发 Android 一切都很好 我还导入了我在 Linux 中工作了几个月的工作空间 我打开一个项目并完美编译 当我尝试运行该项目时 它给了我这个错误 and
  • 使用 .NET 的 XSLT 小写

    我通过使用 XMLSpy 使用以下 XSLT
  • 在 Python 中迭代少量项目的最佳样式?

    我刚刚读了一篇关于 python 的演示文稿 我注意到作者错过了要迭代的元组的圆括号 我突然意识到我可能倾向于将它们留在里面 快速重读PEP 8 http www python org dev peps pep 0008 没有给出明确的答案
  • 分享 Nginx 服务器配置

    我如何在两台服务器之间共享通用配置 我的应用程序支持 http 和 https 几页 我目前正在使用 fastcgi param 来保存数据库名称和密码等敏感信息 我如何共享两个服务器 80 443 的位置和fastcgi param se
  • MVC :: 什么是模型?

    我现在必须对模型做出决定 我知道模型是您用来进行所有数据库操作的工具 但模型仅限于此吗 它们仅用于数据库交互还是用于所有外部数据操作 例如来自外部 API 的数据等 MVC 范例是一种设计模式 您可以使用以下结构来组织应用程序 模型 这是您
  • 在 kusto 查询中解析 json

    如何使用 KUSTO 查询从 JSON 中提取单个值 我希望能够读取 SourceSystemId Message 的值并投影这些值 我还想使用以下 JSON 中的日期作为过滤器 并且仅投影那些日期大于作为外部参数提供的日期的记录 Stat