我想尝试从Go中的JSON获取键值,但是我不确定该怎么做。
我已经能够使用simplejson来读取json值,但是我却无法找出如何获取键值。
谁能指出正确的方向和/或帮助我?
谢谢!
您可以通过执行以下操作来获取JSON结构的顶级密钥:
package main
import (
"encoding/json"
"fmt"
)
// your JSON structure as a byte slice
var j = []byte(`{"foo":1,"bar":2,"baz":[3,4]}`)
func main() {
// a map container to decode the JSON structure into
c := make(map[string]json.RawMessage)
// unmarschal JSON
e := json.Unmarshal(j, &c)
// panic on error
if e != nil {
panic(e)
}
// a string slice to hold the keys
k := make([]string, len(c))
// iteration counter
i := 0
// copy c's keys into k
for s, _ := range c {
k[i] = s
i++
}
// output result to STDOUT
fmt.Printf("%#v\n", k)
}
请注意,键的顺序不得与JSON结构中的键顺序相对应。它们在最后一片中的顺序甚至会在完全相同的代码的不同运行之间有所不同。这是由于地图迭代的工作原理。
我有这样一个JSON文件: 我需要得到回应。使用者用户名值。我试过这个: 但我得到了这个错误: 怎么修,肯定有办法,就是找不到。
我有一个json字符串,我需要验证它,并在json字符串中找到列表以外的任何其他键。示例json字符串为 如何使用从json字符串中获取所有键
问题内容: 我试图解析JSON字符串“ {‘test’:‘100.00’}”并使用GSON库获取值:100.00。我的代码如下所示: 我的结果看起来像这样:“ 100.00”,但是我只需要100.00(不带引号)即可。如何归档? 问题答案:
问题内容: 解决方案 :这是我的错误。 正确的方法是 response.body()。string() 而不是 response.body.toString() 我正在使用Jetty servlet,URL是,每次请求此URL都会返回 当在浏览器中键入url时,它会显示出来,不幸的是,当我使用时,它会显示除json字符串以外的其他内存地址。 Okhttp代码Im使用: 有人可以帮忙吗? 问题答案:
问题内容: 我的下面的代码当机(调试错误!R6010 abort()已被调用)。你能帮助我吗?我也想知道如何从字符串值初始化json对象。 问题答案: 您好,这很简单: 1-您需要一个CPP JSON值对象(Json :: Value)来存储数据 2-使用Json Reader(Json :: Reader)读取JSON字符串并解析为JSON对象 3-做你的东西:) 这是执行这些步骤的简单代码:
问题内容: 我有一个字符串,我想从中获取一些值。 我的字符串看起来像: 字符串1: 字串2: 不幸的是,存在这样一种情况,字符串将具有相同的概念,但是没有一些参数: 字串3: 我怎样才能得到的值:,,,,? 任何帮助表示赞赏! 问题答案: 您的字符串是JSON格式的,因此您需要将其 解析 为一个对象。为此,您可以使用JSON.NET。 这是有关如何将JSON字符串解析为动态对象的示例: 编码愉快!