使用该encoding/json
包可以很容易地解析如下对象。
[
{"something":"foo"},
{"something-else":"bar"}
]
我面临的问题是从服务器返回多个命令,如下所示:
{"something":"foo"}
{"something-else":"bar"}
无法使用以下代码进行解析。
correct_format := strings.Replace(string(resp_body), "}{", "},{", -1)
json_output := "[" + correct_format + "]"
我正在尝试解析Common Crawl数据(请参阅示例)。
我怎样才能做到这一点?
假设您的输入确实是一系列有效的JSON文档,请使用json.Decoder对其进行解码:
package main
import (
"encoding/json"
"fmt"
"io"
"log"
"strings"
)
var input = `
{"foo": "bar"}
{"foo": "baz"}
`
type Doc struct {
Foo string
}
func main() {
dec := json.NewDecoder(strings.NewReader(input))
for {
var doc Doc
err := dec.Decode(&doc)
if err == io.EOF {
// all done
break
}
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", doc)
}
}
游乐场:https://play.golang.org/p/ANx8MoMC0yq
如果您的输入确实是您在问题中显示的内容,则不是JSON,您必须编写自己的解析器。
问题内容: 我正在解析包含json对象的文件。问题是某些文件在一行中有多个对象。例如: 我做了一个函数,尝试在没有左括号的情况下解析子字符串,但是值中可能有大括号。我尝试过通过检查引号的开头和结尾来跳过值,但是也有带有转义引号的值。有关如何处理此问题的任何想法? 我的尝试: 问题答案: 简单但不够健壮的版本: 如果包含在字符串中,则将失败 正如其他建议一样,您然后可以尝试解析每个元素。如果无效,则
问题内容: 我们有事务日志文件,其中每个事务都是JSON格式的一行。我们经常需要获取数据的选定部分,执行一次时间转换,然后以特定格式将结果馈送到另一个系统中。我编写了一个Python脚本,可以根据需要执行此操作,但是我希望Go可以更快,并且可以给我一个开始学习Go的机会。因此,我写了以下内容: 编译时没有任何抱怨,但是令我惊讶的是缺乏性能改进。为了进行测试,我将2,000,000行日志放入tmpf
问题内容: 我有JSON对象,如下所示: 我想在android中解析数据并将其存储到数据库中,但是我在Jsonobject中感到困惑,谢谢 问题答案: 以下是用于解析json字符串的代码段代码。请经历一下:
我是JSON新手,我真的很难用Java中的GSON解析这个布局 如果有帮助的话,是Redmine API为时间条目提供的输出。我正在努力理解一些基本的JSON概念,比如对象和数组,但我还没有找到一个布局类似的示例。 在使用我读过的教程时,我主要担心的是多个ID字段会混淆。 什么是最好的方式来分析这个问题而不束缚自己? 我不打算使用Gson,很乐意使用Jackson或内置库的解决方案。最终目标是An
问题内容: 我正在尝试在Python中加载和解析JSON文件。但是我在尝试加载文件时遇到了困难: 产量: 我看着 18.2。— Python文档中的 JSON编码器和解码器 ,但是通读这个看起来糟透了的文档非常令人沮丧。 前几行(用随机条目匿名): 问题答案: 您有一个JSON Lines格式的文本文件。您需要逐行解析文件: 每 行都 包含有效的JSON,但总的来说,它不是有效的JSON值,因为没
我想解析一个包含多个JSON对象的文件,这些对象未包含在数组中,仅由换行符分隔。该文件具有以下模式: 据我所知,使用的标准方法在这里不起作用,因为对象没有包含在数组中。那么有没有一种优雅的方法可以在Python中解析这样的文件而不修改它呢?