使用Python解析JSON数据

2024-02-26

我从 GitHub Webhook 服务收到一些数据。它包含有关存储库中最近提交的信息。我收到的字符串如下所示:

payload = {
    "ref":"refs/heads/master","commits":[
        {"added":[],"author":{"username":"myname","email":"[email protected] /cdn-cgi/l/email-protection","name":"John Doe"},"timestamp":"2011-03-03T02:04:32-08:00","removed":[],"url":"https://github.com/repository/commit/3da6de4ae4550aa84ff16b9b52d8c5179e126dc5","message":"Setup some functions","modified":["apps/api/__init__.py","main.py","utils.py"],"id":"3da6de4ae4550aa84ff16b9b52d8c5179e126dc5"}
    ],
    "compare":"https://github.com/repository/compare/a270fe9...eb26a23","after":"eb26a2312e1955ccb2b7cb50d43682be87c30faa","repository":{"pushed_at":"2011/03/03 02:23:14 -0800","has_issues":true,"has_downloads":true,"url":"https://github.com/repository","watchers":1,"fork":false,"has_wiki":true,"private":false,"size":2248,"forks":1,"created_at":"2011/02/23 04:41:51 -0800","owner":{"email":"[email protected] /cdn-cgi/l/email-protection","name":"john"},"name":"john","language":"Python","open_issues":0},"forced":false,"before":"a270fe954359caa323a9880afc3d6301055ea566"
}

删除该变量的正确方法是什么payload=并仅获取之间的数据{}这样它就是我可以解析的正确 JSONsimplejson?现在我只用json_data = json_data.replace('payload=', '')。我不确定这是否是正确的方法。我怎样才能做得更好?谢谢。

UPDATE我发布了一个message http://support.github.com/discussions/post-receive-issues/178-post-receive-hook-json-post在 GitHub 支持板上包含问题描述。


我会寻找第一个 { 字符:

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

使用Python解析JSON数据 的相关文章

随机推荐

  • Java 8 - 无法在数组类型 Enum[] 上调用stream() [重复]

    这个问题在这里已经有答案了 为什么我无法调用stream 关于数组类型Enum DummyEnum array DummyEnum values array stream Compile Error ENUM public enum Dum
  • 如何使用 Java 获取我的电脑中可用串行端口的列表?

    我只是运行一些代码来获取计算机上的可用端口列表 当我有 3 个空闲的 com 端口时 它返回 false 我该如何解决这个问题 我的代码 public static void main String args SerialParameter
  • JavaScript 让 Firefox 开发者工具调试视图中的块作用域

    我正在调查该机构的工作情况let 块作用域在 JavaScript 中 特别是浏览器的调试视图如何显示信息 Using let在一个for循环创建一个块作用域 其中回调function timeoutHandler 可以访问 一切都很好 I
  • 格式化复数

    对于我的一个课程中的一个项目 我们必须输出最多五位小数的数字 输出可能是一个复数 而我无法弄清楚如何输出具有五位小数的复数 对于花车我知道它只是 print 0 5f variable name 复数有类似的东西吗 您可以使用如下所示的方法
  • 使用 Gradle 调用 powershell 脚本

    我是 Gradle 新手 所以请耐心等待 我只是想调用 ps1 文件来使用 gradle 执行 我将如何设置 build gradle 文件来执行同一目录中的 ps1 文件 提前致谢 你可以使用gradleExec https docs g
  • python in 和比较的运算符优先级

    以下比较产生True gt gt gt 1 in 11 True gt gt gt 1 in 11 True True 如果使用括号 我会得到一个 TypeError gt gt gt 1 in 11 True Traceback most
  • IBM Integration 总线 mqsicreatebar 及参考

    我对在我的环境中使用 mqsicreatebar 感到有点困惑 例如 我有以下文件结构 root Libraries Library1 Apps App1 project App1 是参考图书馆1 我想运行 mqsicreatebar 使其
  • 应用程序中的各个阶段在 Spark 中并行运行吗?

    我有一个疑问 阶段如何在 Spark 应用程序中执行 程序员可以定义的阶段执行是否具有一致性 或者是否由 Spark 引擎导出 检查这张图中的实体 阶段 分区 图片来源 http alvincjin blogspot in 2014 12
  • 显示宏选项

    在 Excel VBA 中 可以使用 MacroOptions 函数定义与宏或函数相关的一些信息 通过 VBA 输入后是否可以访问此类信息 谢谢 我已经搜索了一段时间但没有发现什么很棒的东西 我发现的唯一解决方法是使用 Chip Pears
  • 通过 URL 发布到 Reddit

    是否可以通过 URL 发布 Reddit 链接 例如对于 Facebook 你可以这样做 a href Share Stackoverflow on your profile a Reddit 是否有一个可以让我共享 URL 的等效端点 有
  • python 管道中的特征选择:如何确定特征名称?

    我使用 pipeline 和 grid search 选择最佳参数 然后使用这些参数来拟合最佳管道 best pipe 然而 由于 feature selection SelectKBest 处于管道中 因此尚未对 SelectKBest
  • 如何在 Android 上动态更新 ListView [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 在 Android 上 我怎样才能L
  • 在 C# 中实现生产者/消费者模式

    我该如何实施生产者 消费者C 中的模式使用活动和代表 使用这些设计模式时 在资源方面需要注意什么 有什么我需要注意的边缘情况吗 我知道这个线程有点老了 但由于我有时在搜索中遇到它 我决定为那些想知道如何实现简单的通用生产者 消费者作业队列的
  • VC++ 堆栈跟踪无法解析生产中的函数名称

    我最近使用实现了堆栈跟踪日志记录boost 的新 stacktrace 库 https www boost org doc libs develop doc html stacktrace getting started html int
  • 使用jquery下载文件自定义名称

    我正在使用 jQueryplugin https github com battatech battatech excelexport将 HTML 表导出到 Excel 使用chrome下载的文件名始终是download xls使用 moz
  • 如何使用 Thrust 计算 int2 数组的平均值

    我正在尝试计算包含点 x y 的某个数组的平均值 是否可以使用推力找到表示为 x y 点的平均点 我也可以将数组表示为thrust device vector
  • D3.js 结合条形图和折线图

    我想通过将条形图与折线图组合来创建多个系列图表 当我使用rangeBands 为了设置输出范围 该线从图表中第一个柱的开头开始绘制 并在最后一个柱的开头结束 我应该更改什么以使该线从第一个刻度线开始并在最后一个刻度线结束 var data
  • 使用模拟器进行条码扫描的 Windows Mobile 应用程序

    我想为 Motorolo MC 9190 G 手机开发简单的应用程序 它有内置的条形码扫描仪 我想扫描条形码并将其显示在消息框中 我没有手机 所以我必须在模拟器中测试它 当我在模拟器中部署代码时 它给出了 null 异常错误 我的代码是 我
  • 如何对ServiceStack进行单元测试?

    我喜欢 SS 但我在尝试对我的业务层进行单元测试时摸不着头脑 我是单元测试和模拟的新手 并且一直在阅读 NSubstitute 因为这看起来像是一个有趣的模拟层 我的文件结构大致如下 MainAppHostProject AppStart
  • 使用Python解析JSON数据

    我从 GitHub Webhook 服务收到一些数据 它包含有关存储库中最近提交的信息 我收到的字符串如下所示 payload ref refs heads master commits added author username myna