【问题标题】:How do I parse ndjson file using Golang? [duplicate]如何使用 Golang 解析 ndjson 文件? [复制]
【发布时间】:2020-01-14 14:54:28
【问题描述】:

我有一个ndjson(换行符分隔的 JSON)文件,我需要解析它并获取一些逻辑操作的数据。有没有使用golang解析ndjson文件的好方法。下面给出了一个示例 ndjson

{"a":"1","b":"2","c":[{"d":"100","e":"10"}]}
{"a":"2","b":"2","c":[{"d":"101","e":"11"}]}
{"a":"3","b":"2","c":[{"d":"102","e":"12"}]}

【问题讨论】:

标签: go ndjson


【解决方案1】:

encoding/json Decoder 根据值类型解析带有可选或必需空格的顺序 JSON 文档。因为换行符是空格,所以解码器处理ndjson

d := json.NewDecoder(strings.NewReader(stream))
for {
    // Decode one JSON document.
    var v interface{}
    err := d.Decode(&v)

    if err != nil {
        // io.EOF is expected at end of stream.
        if err != io.EOF {
            log.Fatal(err)
        }
        break
    }

    // Do something with the value.
    fmt.Println(v)
}

Run it on the playground.

【讨论】:

猜你喜欢
  • 2016-04-26
  • 2017-04-30
  • 2019-10-02
相关资源
最近更新 更多