将特定 JSON 字段从 .responseText 提取到单个 Excel 单元格

2024-04-14

我正在尝试从 JSON 中检索特定字段“resolve”。我不确定如何才能获得这一领域。我添加了 Msgbox [Exists & Fail] 以查看代码是否能够读取单元格内的单词“resolve”,但是我返回失败。

有什么办法可以让我只获得现场解析吗?请协助。

谢谢你!

 TargetURL = "https://api.passivetotal.org/v2/dns/passive?query=passivetotal.org"
    actionType = "Content-Type"
    actionWord = "application/json"
    With CreateObject("Microsoft.XMLHTTP")
        .Open "GET", TargetURL, False
        .setRequestHeader actionType, actionWord
        .setRequestHeader "Authorization", "Basic <Encoded 64>"
        .send
        If .Status = 200 Then
            Sheets(6).Cells(Count, 10).Value = "Connected"
            Debug.Print .responseText
            MsgBox .responseText
            Set JSON = ParseJson(.responseText)
            Sheets(6).Cells(Count, 8).Value = .responseText
            If Sheets(6).Cells(Count, 8).Value = ("resolve") Then
                MsgBox ("Exists")
            Else
                MsgBox ("Fail")
            End If
        Else
            MsgBox .Status & ": " & .StatusText
        End If
    End With

解析 JSON 响应:

下面从文件中读取结果 json 并解析出每个解析。它用JSONConverter.bas。注意我已经在 python 脚本中提取了“结果”JSON 集合,这与您所做的相同json("results")在转换后的 JSON 字符串上通过Set json = JsonConverter.ParseJson(.responseText)("results").

添加后JSONConverter.bas对于您的项目,您需要转到工具>参考>添加参考Microsoft Scripting Runtime

Option Explicit
Public Sub GetJSONExtract()
    Dim fso As Object, jsonFile As Object, jsonText As String, json As Object, item As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set jsonFile = fso.OpenTextFile("C:\Users\User\Desktop\Sample.json")
    jsonText = jsonFile.ReadAll
    Set json = JsonConverter.ParseJson(jsonText)  '<== Using results collection
    'Set json = JsonConverter.ParseJson(.responseText)("results")  '<== In your vba XMLHTTP version
    For Each item In json
        Debug.Print item("resolve")
    Next
End Sub

正如您所了解的如何解析我已经展示的 JSON。


补充笔记:

我实际上使用了如下所示的 python 脚本;改编自 API 文档。然后,我添加了一些代码,将响应写入 JSON 文件以供以后导入。使用 Anaconda/Spyder 运行。

import requests
import json

username = 'xxx'
key = 'yyy'
auth = (username, key)
base_url = 'https://api.passivetotal.org'

def passivetotal_get(path, query):
    url = base_url + path
    data = {'query': query}
    response = requests.get(url, auth=auth, json=data)
    return response.json()

pdns_results = passivetotal_get('/v2/dns/passive', 'passivetotal.org')

for resolve in pdns_results['results']:
   print('Found resolution: {}'.format(resolve['resolve']))


with open(r"C:\Users\User\Desktop\Output.json", "w") as text_file:
    text_file.write(json.dumps(pdns_results['results']))

这会打印出所有的解决方案。

原始返回的 JSON 结构如下所示:

返回的对象是字典的集合。您可以通过字典键访问所需的值"resolve"

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

将特定 JSON 字段从 .responseText 提取到单个 Excel 单元格 的相关文章

随机推荐

  • 探索用户时,如何查看他们浏览过的页面的 url?

    在用户资源管理器中 我看到默认的 page view 事件 但当我单击它们时 它们不会显示页面路径 GA4 新手 需要任何建议 我期望显示默认参数 page location page referrer 但我只看到自定义参数 我的一个想法是
  • 我如何计算 @foreach 中 mvc3 中的循环

    我怎样才能关闭 tr 并打开 tr 3次循环迭代后 我在 NET 4 0 中有 MVC 3 如何计算 MVC 3 中的循环迭代次数 当前代码 foreach var articleOnFirstPage in Model ArticlesO
  • ModuleNotFoundError:没有名为“skimage.util.montage”的模块

    我正在尝试导入montage2d来自 scikit image 的模块 from skimage util montage import montage2d 但弹出了这个错误 ModuleNotFoundError No module na
  • 输入单个记录条目

    我正在寻找一个 TypeScript 类型定义 它描述具有单个属性 具有任何值 的对象 我知道有索引签名 例如 type X key string any 或者替代地 type X Record
  • R Data.table 根据另一列划分列中的值

    我有一个maindata table 有 364 行和 3 列 Date Weekday Weight 2012 01 01 Monday 100 2013 01 02 Tuesday 200 and a helpdata table 有
  • Django ORM:我如何实时查看最后执行的查询

    假设我们有一个使用 django orm 的简单查询 filterd User objects exclude id request user id filter username data username 这应该返回一些对象 但它没有返
  • 如何在 Autofac 中使用工厂模式?

    目前我有以下内容 public interface IService void Start public class FirstService IService 我通过执行以下操作来解决该服务 using var scope lifetim
  • RMarkdown PDF 输出中未显示某些 Unicode 字符

    我正在尝试将一些课程笔记整理为 PDF 但无法正确显示某些 Unicode 字符 使用xelatex https en wikipedia org wiki XeTeXLatex 引擎对于渲染文档是必需的 使用默认引擎会因无法识别的字符而导
  • 挂钩 Win32 窗口创建/调整大小/查询大小

    我正在尝试 扩展 现有的应用程序 The goal就是在不更改应用程序代码的情况下使现有应用程序变得更大 一个约束拉伸的应用程序不会 注意到 它 因此 如果应用程序查询创建的窗口大小 它将看到原始大小 而不是调整后的大小 我设法使用调整窗口
  • Mayavi (Python) 中的 TVTK 错误

    我正在运行 Fedora 17 x64 机器 并且我尝试通过以下方式安装 Mayavi for python yum install mayavi 工作得很好 除了每次我编写调用 mayavi 模块 如 mlab 的代码时 from ent
  • 根据时间戳间隔创建 csv 文件的数据框

    我相信我的问题非常简单 并且一定有一个非常简单的方法来解决这个问题 但是由于我对Python 特别是pandas很陌生 我无法自己解决它 我有数百个 csv 文件 格式如下 text 2014 02 22 13 00 00 所以格式是str
  • 如何强制 QCompleter 检查 QLineEdit 中的第二个单词

    我有一个功能可以实现带有自动完成功能的文本框 我找到了一个使用 QLineEdit 和 QCompleter 的代码 因此我有我的字符串值 一 二 三 等 一旦我输入 on 完成器就会建议我列表中带有前缀 on 的每个单词 但是当我从列表中
  • 关闭还是不关闭 Oracle 连接?

    我的应用程序存在性能问题 因此我开始从根本上调查这个问题 与数据库的连接 最佳实践说 打开连接 使用它并尽快关闭 但我不知道这会导致的开销 所以问题是 1 尽快打开 使用 关闭连接是使用 ODP NET 的最佳方法吗 2 有没有办法以及如何
  • 使用 CertPathBuilder 构建证书路径时无法获得受信任的根 CA

    我有最终实体 一些中间 CA 和一些受信任 CA 的证书 并且我正在尝试使用CertPathBuilder找到最终实体和可信 CA 之一之间的认证路径 但是 我当前的实现包括任何中间 CA 和最终实体 但未能包括受信任的根 我已经尝试过 B
  • 提供额外的媒体资源(图形/声音)作为 Google Play 应用内计费项目

    在我通过 Google Play 提供的 Android 应用程序中 我想提供可以通过应用程序内结算购买的其他项目 我想要提供的项目类型是媒体内容 例如图形和声音 这些内容通常会进入res应用程序的文件夹 当然 问题是这些资源必须受到保护
  • 使用 LINQ 从两个不同的列表创建对,其中条目具有相同的属性

    我有两个清单Requests and Responses谁继承了抽象AbstractLineModel班级 响应和请求都包含一个 或不包含 名为RequestId A CallPair包含一对匹配的Request and a Respons
  • SAML 名称 ID 策略

    我对单点登录 SSO 的概念还很陌生 我发现 SAML 请求和响应是实现 SSO 流程的最佳方式 然后我开始阅读有关 SAML2 0 的内容 我来到了一个学期名称 ID 策略在 saml 2 0 中 这在 saml 1 0 中不存在 定义说
  • pandas 中的多行是否可以有一个唯一索引?

    pandas 中的多行是否可以有一个唯一索引 例子 index country value 1 NL hi 2 NL wet 3 SWE 4 4 SWE maybe 因此 在本示例中 我无法将 NL 设置为索引 因为它不是唯一的 panda
  • Python 错误,“‘模块’对象没有属性‘lstrip’”

    Python 文档来自http docs python org library string html http docs python org library string html string lstrip s chars 返回删除了
  • 将特定 JSON 字段从 .responseText 提取到单个 Excel 单元格

    我正在尝试从 JSON 中检索特定字段 resolve 我不确定如何才能获得这一领域 我添加了 Msgbox Exists Fail 以查看代码是否能够读取单元格内的单词 resolve 但是我返回失败 有什么办法可以让我只获得现场解析吗