提供JSON InputStream的最佳方法

时间:2011-06-24 10:01:46

标签: java c++ json inputstream

在不同的语言中,我需要为用户提供一个JSON对象流,其界面类似于以下内容:

JSONObject json = stream.nextJSON();

由于它是一个流,因此每个调用都将阻塞,直到检索到一个完整的对象。这意味着尝试将每个JSON对象封装在一个大数组中是没有意义的。必须在流中添加额外的结构和处理层。

我想到了两个选择:

  1. 使用空终止字符对流进行分段。
  2. 编写一个理解JSON范围的原始解析器,以便检测对象的结束。
  3. 以上每个都有许多潜在的问题要讨论:null终止如何与C ++,Java和其他语言中的文件系统,套接字或底层流交互?在解析时我们需要考虑哪些边缘情况? (例如,不同类型的引号可能会混淆解析器)。此外,可能还有其他两种选择。

    所以问题是:提供JSON InputStream的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

谷歌显然已经考虑过了:

http://sites.google.com/site/gson/streaming