dongpao9165 2014-12-31 06:46
浏览 446

解析Go语言中的多级json文件

I need to parse and get values from fields in a json file.

[{"id": 27}, {"id": 0, "label": "Label 0"}, null, {"id": 93}, {"id": 85}, {"id": 54}, null, {"id": 46, "label": "Label 46"}]}}    

Though i can work on single level , i am at a loss how i can iterate through levels here. I have tried looking for an answer in google , various help sites and even stackoverflow. I could not find any example that might help me in working with multi level json byte array. Hope somebody can lead me to understand and work on it. Thanks in advance

  • 写回答

1条回答 默认 最新

  • dongshuo5101 2014-12-31 13:13
    关注

    Just parse the JSON into an array of structs:

    package main
    
    import (
        "encoding/json"
        "fmt"
    )
    
    type Item struct {
        Id    int
        Label string
    }
    
    func main() {
    
        data := []byte(`[{"id": 27}, {"id": 0, "label": "Label 0"}, null, {"id": 93}, {"id": 85}, {"id": 54}, null, {"id": 46, "label": "Label 46"}]`)
        var val []*Item
    
        if err := json.Unmarshal(data, &val); err != nil {
            fmt.Printf("Error: %s
    ", val)
            return
        }
    
        for _, it := range val {
            fmt.Printf("%#v
    ", it)
        }
    
    }
    

    I hope this helps.

    评论

报告相同问题?

悬赏问题

  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?