Python Json 解析器[关闭]

2023-11-30

我有一个具有以下结构的 JSON 文件:-

{
    "contributors": null, 
    "truncated": false, 
    "text": "@HomeShop18 #DreamJob to professional rafter", 
    "in_reply_to_status_id": null, 
    "id": 421584490452893696, 
    "favorite_count": 0, 
    "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Mobile Web (M2)</a>", 
    "retweeted": false, 
    "coordinates": null, 
    "entities": {
        "symbols": [], 
        "user_mentions": [
            {
                "id": 183093247, 
                "indices": [
                    0, 
                    11
                ], 
                "id_str": "183093247", 
                "screen_name": "HomeShop18", 
                "name": "HomeShop18"
            }
        ], 
        "hashtags": [
            {
                "indices": [
                    12, 
                    21
                ], 
                "text": "DreamJob"
            }
        ], 
        "urls": []
    }, 
    "in_reply_to_screen_name": "HomeShop18", 
    "id_str": "421584490452893696", 
    "retweet_count": 0, 
    "in_reply_to_user_id": 183093247, 
    "favorited": false, 
    "user": {
        "follow_request_sent": null, 
        "profile_use_background_image": true, 
        "default_profile_image": false, 
        "id": 2254546045, 
        "verified": false, 
        "profile_image_url_https": "https://pbs.twimg.com/profile_images/413952088880594944/rcdr59OY_normal.jpeg", 
        "profile_sidebar_fill_color": "171106", 
        "profile_text_color": "8A7302", 
        "followers_count": 87, 
        "profile_sidebar_border_color": "BCB302", 
        "id_str": "2254546045", 
        "profile_background_color": "0F0A02", 
        "listed_count": 1, 
        "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", 
        "utc_offset": null, 
        "statuses_count": 9793, 
        "description": "Rafter. Rafting is what I do. Me aur mera Tablet.  Technocrat of Future", 
        "friends_count": 231, 
        "location": "", 
        "profile_link_color": "473623", 
        "profile_image_url": "http://pbs.twimg.com/profile_images/413952088880594944/rcdr59OY_normal.jpeg", 
        "following": null, 
        "geo_enabled": false, 
        "profile_banner_url": "https://pbs.twimg.com/profile_banners/2254546045/1388065343", 
        "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", 
        "name": "Jayy", 
        "lang": "en", 
        "profile_background_tile": false, 
        "favourites_count": 41, 
        "screen_name": "JzayyPsingh", 
        "notifications": null, 
        "url": null, 
        "created_at": "Fri Dec 20 05:46:00 +0000 2013", 
        "contributors_enabled": false, 
        "time_zone": null, 
        "protected": false, 
        "default_profile": false, 
        "is_translator": false
    }, 
    "geo": null, 
    "in_reply_to_user_id_str": "183093247", 
    "lang": "en", 
    "created_at": "Fri Jan 10 10:09:09 +0000 2014", 
    "filter_level": "medium", 
    "in_reply_to_status_id_str": null, 
    "place": null
} 

该文件中有近 1500 个此类词典。我想知道Python中是否有任何预先存在的解析器,用于这样的文件,用于延迟解析。我希望所述解析器一次只返回一本字典,或者,最坏的情况下,逐行返回数据。我应该怎么办?


这是一个解决方法函数使用json.JSONDecoder.raw_decode。我希望有人提出更好的方法来处理这个问题。

import json
import re

nonspace = re.compile(r'\S')
def iterparse(j):
    decoder = json.JSONDecoder()
    pos = 0
    while True:
        matched = nonspace.search(j, pos)
        if not matched:
            break
        pos = matched.start()
        decoded, pos = decoder.raw_decode(j, pos)
        yield decoded

用法示例:

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

Python Json 解析器[关闭] 的相关文章

  • 如何确定非阻塞套接字是否真正连接?

    这个问题不仅限于Python 这是一个一般的套接字问题 我有一个非阻塞套接字 想要连接到一台可访问的机器 在另一端 该端口不存在 为什么 select 仍然成功 我预计会超时 sock send 因管道损坏而失败 select 之后如何确定
  • Python 3 __getattribute__ 与点访问行为

    我读了一些关于 python 的对象属性查找的内容 这里 https blog ionelmc ro 2015 02 09 understanding python metaclasses object attribute lookup h
  • Rails escape_javascript 通过转义单引号创建无效的 JSON

    ActionView中的escape javascript方法转义撇号 作为反斜杠撇号 解析为 JSON 时会出错 例如 消息 我在这里 在打印时是有效的 JSON message I m here But 输出 I m here 导致无效
  • 可以在 TensorFlow 中使用排名相关作为成本函数吗?

    我正在处理偶尔充满异常值的极其嘈杂的数据 因此我主要依靠相关性来衡量我的神经网络的准确性 是否可以明确使用诸如等级相关性 斯皮尔曼相关系数 之类的东西作为我的成本函数 到目前为止 我主要依赖 MSE 作为相关性的代理 我现在面临三个主要障碍
  • 如何从 Dockerfile 安装 Python 3.7 和 Pip

    我正在尝试构建基于 Ubuntu 18 04 的自定义 Docker 映像 Ubuntu 预装了 Python 3 6 但我想 1 安装 Python 3 7 2 将其设置为默认 Python 版本 这样就可以使用python代替pytho
  • 创建一个类似于 Tkinter 的表

    我希望创建类似于 Tkinter 中的表格的东西 但它不一定是这样的 例如 我想创建标题 Name1 Name2 Value 并在每个标题下面有几个空白行 然后 我希望稍后用我计算的值或名称的字符串值填充这些行 因此是标签 对于 Name2
  • 具有多个元素的数组的真值是二义性错误吗? Python

    from numpy import from pylab import from math import def TentMap a x if x gt 0 and x lt 0 5 return 2 a x elif x gt 0 5 a
  • 如何在Python和Selenium中通过标签名称或id获取元素[重复]

    这个问题在这里已经有答案了 我正在尝试使用 Python 和 Selenium 获取输入 但它向我显示错误 我该如何解决这个错误 inputElement send keys getStock getStocklFunc 0 Error i
  • 如何为 Jackson 编写一个包罗万象的(反)序列化器

    当您提前知道类型时 编写自定义序列化器非常容易 例如 MyType一个人可以写一个MyTypeSerializer extends StdSerializer
  • 将 Pandas 列中的列表拆分为单独的列

    这是我在 pandas 数据框中的 特征 列 Feature Cricket 82379 Kabaddi 255 Reality 4751 Cricket 15640 Wildlife 730 LiveTV 13 Football 4129
  • 将输入发送到 python 子进程而不等待结果

    我正在尝试为一段代码编写一些基本测试 该代码通常通过 stdin 无休止地接受输入 直到给出特定的退出命令 我想检查程序是否在给出一些输入字符串时崩溃 经过一段时间来考虑处理 但似乎无法弄清楚如何发送数据而不是陷入等待我不知道的输出关心 我
  • Pandas Dataframe:将包含列表的行扩展到多行,并为所有列提供所需的索引

    我在 pandas 数据框中有时间序列数据 索引为测量开始时的时间 列中包含以固定采样率记录的值列表 连续索引 列表中元素数量的差异 这是它的样子 Time A B Z 0 1 2 3 4 1 2 3 4 2 5 6 7 8 5 6 7 8
  • Airflow Python 单元测试?

    我想为我们的 DAG 添加一些单元测试 但找不到任何单元测试 有 DAG 单元测试框架吗 有一个端到端的测试框架存在 但我猜它已经死了 https issues apache org jira browse AIRFLOW 79 https
  • 如何通过字符串匹配加速 pandas 行过滤?

    我经常需要过滤 pandas 数据框df by df df col name string value 并且我想加快行选择操作 有没有快速的方法可以做到这一点 例如 In 1 df mul df 3000 2000 3 reset inde
  • Python 3.2 中 **kwargs 和 dict 有什么区别?

    看起来Python的很多方面都只是功能的重复 除了我在 Python 中的 kwargs 和 dict 中看到的冗余之外 还有什么区别吗 参数解包存在差异 许多人使用kwargs 并通过dict作为论据之一 使用参数解包 Prepare f
  • 全局变量是 None 而不是实例 - Python

    我正在处理Python 中的全局变量 代码应该可以正常工作 但是有一个问题 我必须使用全局变量作为类的实例Back 当我运行应用程序时 它说 back is None 这应该不是真的 因为第二行setup 功能 back Back Back
  • 如何在sphinx中启用数学?

    我在用sphinx http sphinx pocoo org index html与pngmath http sphinx pocoo org ext math html module sphinx ext pngmath扩展来记录我的代
  • 异步和协程与任务队列

    我一直在阅读有关 python 3 中的 asyncio 模块的内容 以及更广泛地了解 python 中的协程的内容 但我不明白是什么让 asyncio 成为如此出色的工具 我的感觉是 你可以用协程做的所有事情 通过使用基于多处理模块 例如
  • 在 Python 模块中使用 InstaLoader

    我正在尝试使用 Instaloader 下载与主题标签相关的照片以进行图像分析 我在GitHub存储库中找到了一个全面的方法 如何在终端中执行它 但是 我需要将脚本集成到Python笔记本中 这是脚本 instaloader no vide
  • Django South - 将 null=True 字段转换为 null=False 字段

    我的问题是 转变的最佳做法是什么null True场变成null False使用 Django South 的字段 具体来说 我正在与ForeignKey 你应该先写一个数据迁移 http south aeracode org docs t

随机推荐

  • 无法将模块函数传递给页面

    我有一个名为util用方法getMutedColor和其他一些 getMutedColor依赖于另一个称为rand在同一模块中 page includeJs https cdnjs cloudflare com ajax libs d3 3
  • 对吊装感到困惑

    考虑这两个略有不同的提升版本 mylocation dublin function outputPosition alert mylocation mylocation fingal alert mylocation outputPosit
  • 如何将数据库中某些表的所有权从 postgres 更改为另一个用户?

    我有一个包含大量表的数据库 有些表由 postgres 用户拥有 而不是我创建的 我想将这些表的所有权转移给我创建的表 因为在进行 django migrations 时 您只能为 psql 连接设置一个用户和密码 并且该用户无权访问 po
  • PHP中获取iframe的父url

    我正在创建一个将在 IFrame 中加载的小部件 用户将能够将该小部件放置在自己的网站上 如何获取在 javascript 和 或 PHP 中使用 IFrame 的网站的 URL IFrame 加载一个 php 文件 我在 IFrame 页
  • jQuery 与 PHP - 性能比较

    从性能角度来看 哪个是更好的解决方案 这是一个非常小的例子 PHP 脚本向 jQuery 返回一个数字 需要检查该数字是否为1 页面需要显示 1 人 否则为 X 人 PHP 脚本进行此检查并返回 x 个人 会更快 还是 jQuery 在获取
  • 如何在本地主机上启动 cxf 服务但在 wsdl 中返回外部地址?

    我在apache后面使用cxf和jetty通过soap公开web服务 目标是启动码头http 本地主机 9000在所有情况下都有 apache 代理 但让自动生成的 wsdl 显示一个适合其运行环境的soap address 例如http
  • Visual C++ 表达式必须具有常量值

    有谁知道为什么 Visual Studio 是唯一给我这个错误的编译器 表达式必须有一个常量值 指大小 include
  • 带有运行时参数的 dlsym/dlopen

    我正在尝试做类似以下的事情 enum types None Bool Short Char Integer Double Long Ptr int main int argc char args enum types params 10 0
  • 禁用iPhone“保存图像”弹出窗口[重复]

    这个问题在这里已经有答案了 我正在尝试禁用 保存图像 对话框在 iPhone 任何 iOS 设备上显示 当用户在 Safari 中时 他们可以将手指放在图像上 然后将该图像直接保存到手机中 他们有办法用 javascript jquery
  • 如何在 Zend Framework 2 中使用 cookie? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我不明白如何在 ZF2 中使用 cookie 有人可以建议一些带有 set 和 get
  • 如何在 SwiftUI 中的 firebase 查询期间显示加载动画

    我正在使用 SwiftUI 构建一个应用程序 并有一个 ObservableObject 用于查询我的 Firestore 数据库 我的文档相对较大 并且经常需要查询很多文档 因此我想在查询下载数据时加入某种加载指示器 这是我创建的 Obs
  • 使用 Python 从直接 URL 下载视频

    我想用python下载视频 我尝试使用 youtube dl 但我希望从中下载视频的网站不受支持 如何使用 Python 下载视频 首先 我尝试在点击此链接后从 keepvid com 获取我想要下载的视频的直接链接http www kmc
  • Flex 侧边栏:如何增长到 100% 的高度

    我正在使用 CSS flex 构建一个侧边栏 我需要它垂直增长以填充整个屏幕的垂直高度 这是我正在做的事情的框架 JSF 在这里 app display flex flex direction row align items flex st
  • 应用窗口函数计算 pySpark 中的差异

    我在用pySpark 并设置了我的数据框 其中两列代表每日资产价格 如下所示 ind sc parallelize range 1 5 prices sc parallelize 33 3 31 1 51 2 21 3 data ind z
  • 如何使用Retrofit进行同步调用

    我正在尝试使用 Retrofit call enqueue DrawCircles 获取数据 当我调试值时 但我认为它不会等待 我的函数将继续执行其余的代码行 所以当我运行它时 问题是结果列表 myListCoord 始终为空 如何进行同步
  • 如何在服务器响应上写入文件对象而不在服务器上保存文件?

    我正在将 Spring 与 DWR 一起使用 我想返回一个文件对象作为响应 但是我将文件 要发送 保存在服务器临时位置 然后将其位置作为锚标记的 href 发送到客户端 但是我想知道是否有一种方法可以抛出将文件直接发送到响应对象上的浏览器
  • 地图标记不显示(JavaScript/Google 地图 API V3)

    我在使用 Google Maps API v3 显示地图标记时遇到问题 我试图将它们全部保存在一个数组中 以使显示大量内容相对简单 目前 地图加载正常 但抛出错误Uncaught TypeError Object has no method
  • 带问号和与号的 mod_rewrite(使用 PHP)

    我有一个基于 PHP 的 Web 应用程序 我正在尝试应用 Apache 的 mod rewrite 原始 URL 的形式为 我想将它们转换为 http example com home x 5 请注意 在重写页面名称时 我还有效地 移动
  • WebApi 授权过滤器,在 json 负载中带有令牌

    我一直在研究 AspNetWebApi 的授权 但关于该主题的信息有点稀疏 我有以下选择 在查询字符串上传递 API 令牌 将 API 令牌作为标头传递 使用基本身份验证传递 API 令牌 将 API 令牌传递到 json 中的请求负载上
  • Python Json 解析器[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我有一个具有以下结构的 JSON 文件 contributors null truncated false text HomeShop18 DreamJob to professio