Java 增量流式 JSON 库

2024-03-12

谁能推荐一个 Java 的 JSON 库,它允许我以非阻塞的方式提供传入的数据块?我已读完更好的 Java JSON 库 https://stackoverflow.com/questions/338586/a-better-java-json-library和类似的问题,但还没有找到我想要的。

本质上,我想要的是一个允许我执行以下操作的库:

String jsonString1 = "{ \"A broken";
String jsonString2 = " json object\" : true }";

JSONParser p = new JSONParser(...);
p.parse(jsonString1);
p.isComplete(); // returns false
p.parse(jsonString2);
p.isComplete(); // returns true
Object o = p.getResult();

请注意,实际的键名称(“损坏的 json 对象”)被分成几部分。

我发现的最接近的是这个异步 json 库 http://code.google.com/p/async-json-library/这确实almost正是我想要的,除了它无法恢复实际字符串或其他数据值被分割的对象。


有一些阻塞流/增量 JSON 解析器(根据有 JSON 的流 API 吗? https://stackoverflow.com/questions/444380/is-there-a-streaming-api-for-json/823632#823632);但对于异步,我还没有意识到。 您引用的库的名称似乎很糟糕;它似乎并没有进行真正的异步处理,而只是允许解析 JSON 文档序列(其他多个库也允许这样做)

如果有人真的想要这个,那么编写一个也不是不可能的——对于 XML 来说,有Aalto http://wiki.fasterxml.com/AaltoHome,并且处理 JSON 比 XML 简单得多。 对于它的价值来说,实际上有此功能请求 http://jira.codehaus.org/browse/JACKSON-39添加非阻塞解析模式Jackson http://jackson.codehaus.org;但很少有用户表示有兴趣完成这项工作(通过对功能请求进行投票)。

编辑:(2016-01)虽然不是异步的,但 Jackson ObjectMapper 也允许对流的各个部分进行方便的逐子树绑定 - 请参阅ObjectReader.readValues() (ObjectReader创建自ObjectMapper),或缩写版本ObjectMapper.readValues(...)。注意尾随s在那里,这意味着对象流,而不仅仅是单个对象。

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

Java 增量流式 JSON 库 的相关文章

  • Java Swing:清除JList而不触发监听器

    我的情况如下 我有一个 JList 只要在列表中进行选择 它就会触发搜索 使用 ListSelectionListener 我正在尝试使用以下命令重置列表上的选择list clearSelection 这样做的问题是使用clearSelec
  • 使用多个构造函数创建不可变类

    我正在阅读这一页 https docs oracle com javase tutorial essential concurrency imstrat html关于在 Java 中创建不可变类 并决定根据页面上概述的规范修改我正在编写的类
  • JUnit 使用 Mockito 测试异步方法

    我已经使用 Spring Framework 版本 5 0 5 RELEASE 在 Java 1 8 类中实现了异步方法 public class ClassToBeTested Autowired private MyComponent
  • 方法不必要地被调用?

    我有一个 BaseActivity 它可以通过其他所有活动进行扩展 问题是 每当用户离开 暂停 活动时 我都会将音乐静音 我也不再接听电话 问题是 onPause每当用户在活动之间切换时就会被调用 这意味着应用程序不必要地静音和停止tele
  • 在气球内显示带有照片的多个地标的最佳做法是什么?

    我有一个项目如下 从手机上拍摄几张照片 将照片保存在网络系统中 然后将照片显示在其中的谷歌地球上 我读过很多文章 但它们都使用 fetchKml 我读过的一篇好文章是使用 php 但使用 fetchKml 我不知道是否可以使用 parseK
  • 如何正确配置Tomcat SSLHostConfig?

    我正在按照本教程在 tomcat 中启用 ssl https medium com raupach how to install lets encrypt with tomcat 3db8a469e3d2 https medium com
  • 会话 bean 中的 EntityManager 异常处理

    我有一个托管无状态会话 bean 其中注入了 EntityManager em 我想做的是拥有一个具有唯一列的数据库表 然后我运行一些尝试插入实体的算法 但是 如果实体存在 它将更新它或跳过它 我想要这样的东西 try em persist
  • LibGdx 如何使用 OrthographicCamera 滚动?

    我已经找了 10 个小时 字面意思 我已经完成了 我需要问一下 事情是我正在学习如何使用 LibGdx 来编写 Java 游戏 我正在做一个水平太空飞船游戏 所以 我最糟糕的问题是我不知道如何滚动 我认为绘制会更好地解释 我想绘制一个巨大的
  • java 属性文件作为枚举

    是否可以将属性文件转换为枚举 我有一个包含很多设置的属性文件 例如 equipment height equipment widht equipment depth and many more like this and not all a
  • 当容器大小更改时,JTable 仅调整选定列的大小

    对于面板内的 JTable 如果面板变大 我如何将额外的空间仅分配给某些列 在我的例子中 分配给最后一列 尽管提供 第 3 4 列和8 将获得额外的空间 我想允许用户手动更改所有列的列大小 我尝试了 table setAutoResizeM
  • 在 php 中回显 JSON 数据

    我正在尝试回显一些 JSON 数据 问题是数据包含变量 但我的代码没有将变量放入字符串中 这是我的代码 status row Status priority row Priority echo status status priority
  • 是什么原因导致“对象不是声明类的实例”? [复制]

    这个问题在这里已经有答案了 可能的重复 使用反射调用方法时 为什么会出现 对象不是声明类的实例 https stackoverflow com questions 7202988 why do i get object is not an
  • 您可以使用 JSONP 检索您的 Skype 状态吗?

    有谁知道使用 JSONP 获取 Skype 状态的 URL 到目前为止我只找到了一个 XML 状态 URL http mystatus skype com username xml 我正在尝试使用 AJAX 查询 Skype 是的 我可以使
  • Android 中的字符串加密

    我正在使用代码进行加密和加密 它没有给出字符串结果 字节数组未转换为字符串 我几乎尝试了所有方法将字节数组转换为字符 但没有给出结果 public class EncryptionTest extends Activity EditText
  • 防止 Firebase 中的待处理写入事务不起作用

    我的目标是在单击按钮时将名称插入 Cloud Firestore 中 但如果用户未连接到互联网 我不希望保存处于挂起状态 我不喜欢 Firebase 保存待处理写入的行为 即使互联网连接已恢复 我研究发现Firebase 开发人员建议使用事
  • 无法读取解析推送通知包数据

    我尝试使用 Parse 推送通知服务发送自定义数据 但从 Bundle 中提取时总是返回 null 值 自定义广播接收器 Override public void onReceive Context context Intent inten
  • Java的hashCode可以为不同的字符串产生相同的值吗?

    使用java的哈希码函数是否可以为不同的字符串提供相同的哈希码 或者如果可能的话 其可能性的 是多少 Java 哈希码是 32 位 它散列的可能字符串的数量是无限的 所以是的 会发生冲突 百分比是没有意义的 项目 字符串 的数量是无限的 而
  • 日期时间解析异常

    解析日期时 我的代码中不断出现异常错误 日期看起来像这样 Wed May 21 00 00 00 EDT 2008 这是尝试读取它的代码 DateTimeFormatter formatter DateTimeFormatter ofPat
  • 使用 Android 的 Mobile Vision API 扫描二维码

    我跟着这个tutorial http code tutsplus com tutorials reading qr codes using the mobile vision api cms 24680关于如何构建可以扫描二维码的 Andr
  • 将隐藏(生物识别)数据附加到 pdf 上的数字签名

    我想知道是否可以使用 iText 我用于签名 或 Java 中的其他工具在 pdf 上添加生物识别数据 我会更好地解释一下 在手写板上签名时 我会收集签名信息 例如笔压 签名速度等 我想将这些信息 java中的变量 与pdf上的签名一起存储

随机推荐

  • 将图像从 Matlab 传输到 OpenCV IplImage

    我在 Matlab 中有一张图像 img imopen image jpg 它返回一个 uint8 数组高 x 宽 x 通道 3 个通道 RGB 现在我想使用 openCV 对其进行一些操作 因此我编写了一个 MEX 文件 该文件将图像作为
  • 可以多次访问顶点的 TSP

    我正在寻求解决一个问题 其中我有一个加权有向图 并且必须从原点开始 至少访问所有顶点一次并以尽可能最短的路径返回原点 本质上 这将是 TSP 的一个经典示例 除了我DO NOT具有每个顶点只能被访问一次的约束 在我的例子中 除了原点之外的任
  • 使用 PHP 和 AJAX 保持套接字连接打开

    我正在尝试连接到一个服务器套接字 该套接字将在连接后向我发送一堆数据 从我那里获取响应 然后发送更多数据 重复此过程 直到确定它已经足够了 所以基本上 在第一次连接之后 我们将 并且当前正在 从服务器接收数据 我们想要获取这些数据 在另一个
  • 计算 ISBN 的校验位

    这实际上不是家庭作业 我只是在下周开始计算机科学之前浏览一本离散数学书中的一些问题 不管怎样 其中一个问题要求我编写一个程序来执行这个算法 它解释了 我所困惑的部分是如何获取 9 位数字并将其 拆分 为单个整数 以便可以对每个数字执行计算
  • 如何在 gdb 中使用 python 访问寄存器

    如何访问当前调试实例的cpu寄存器 例如 您可以从 gdb 调用printf 0x x eax and set eax b eax还有一种方法可以通过 gdb 提供的 python 支持来做到这一点吗 或者我应该创建一个可以像这样调用的 p
  • Android:如何更改操作栏背景颜色? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的 Android 应用程序的颜色是黑色 我想把它改成其他颜色 最简单的方法是什么 我尝试以此为主题 当应用程序打开时 我可以看到操作栏
  • 你能帮我写一个可以自行打印的短代码吗?

    define q k main return puts k nq k q define q k main return puts k nq k 这段代码可以在屏幕上打印出来 但是 我读起来有困难 尤其是那两个 K 它是如何工作的 我知道 d
  • Jooq 将 String 转换为 BigDecimal

    有没有办法在 jooq 查询中将 String 转换为 BigDecimal 而不丢失精度 当我做endResER VALUE cast BigDecimal class where VALUE是数据库中具有字符串值的字段 它返回不带任何小
  • 打印 GUID 变量

    我有一个 GUID 变量 我想在文本文件中写入其值 GUID的定义是 typedef struct GUID size is 16 DWORD Data1 WORD Data2 WORD Data3 BYTE Data4 8 GUID 但我
  • JTextArea 和 JTextField 文本内部填充

    我想增加间距 填充 插入文本字段 http java sun com j2se 1 5 0 docs api javax swing JTextField html and J文本区 http java sun com j2se 1 5 0
  • plpgsql - pgAdmin 4 不显示 RAISE 消息(例如,通知)

    在使用 pgAdmin III 很长一段时间后 我最近安装了 pgAdmin 4 我注意到在使用 RAISE NOTICE 运行 plpgsql 函数后 消息下没有显示任何内容 我去了https www postgresql org doc
  • 使用 Java API 下载 YouTube 视频?

    我在 Stack Overflow 中发现了类似的问题 并尝试了一些解决方案 所有这些都已经过时了 所以我提出了一个新问题 我跟随并尝试 如何在java上从youtube下载视频 https stackoverflow com questi
  • 如何使用 php shell_exec 和 sql 命令行创建数据库

    我正在尝试使用 shell exec 和 mysql 命令创建数据库 由于几个原因 我不想使用 php 内置的 mysql query 但是 我无法让以下命令成功执行 任何人都可以告诉我出了什么问题吗 test shell exec mys
  • 由于“TIMESTAMP withimplicit DEFAULT value is deprecated”错误,我无法启动 Mysql 5.6 服务器? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 好的 这是我的故事 我访问 mysql com 网站并下载了文件mysql 5 6 11 winx64 zip进入C 然后我解压它 然后我进入 bin
  • 是否有软件可以将大量小数字图像拼接在一起而无需旋转或拉伸它们? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有大量小图像 360x192 这些小图像是从 DOS 2D 电脑游戏中按顺序截取的 它们有相当大的重叠 我想将它们缝合在一起形成一个大的复合材料 由
  • 自动反序列化为 Web.API 控制器中的类似字符串的类

    我有一个 Web API 端点 它将这样的对象作为参数 public class Person public string FirstName get set public string LastName get set public in
  • Android 应用程序客户端与 java 服务器的双向 TLS

    我正在尝试使用双向 TLS 向我的服务器发送 https 请求 我使用 TLS 成功运行的服务器 但我不知道如何在客户端 Android 应用程序 上执行此操作 我在java服务器上使用spring 来自 Android 应用程序的请求是使
  • 如何附加或更新时间戳查询字符串参数

    我想在我的查询字符串中附加一个时间戳 以确保当我通过 JavaScript 刷新页面时浏览器绕过其缓存 我需要考虑现有的查询字符串 其中可能已经有时间戳参数 和哈希标签 http www example com ts 123456 exam
  • 以有效的方式将哈希表转换回字符串数据

    我正在尝试以有效的方式将哈希表转换回键值对 目前我正在使用这个 kv hash GetEnumerator ForEach kv Name Value 有没有办法直接将哈希表转换为键值对 或者我的意思是字符串数据 有ConvertFrom
  • Java 增量流式 JSON 库

    谁能推荐一个 Java 的 JSON 库 它允许我以非阻塞的方式提供传入的数据块 我已读完更好的 Java JSON 库 https stackoverflow com questions 338586 a better java json