我正在尝试解组一些json,以便嵌套的对象不会被解析,而只是被视为a string
或[]byte
。
所以我想得到以下内容:
{
"id" : 15,
"foo" : { "foo": 123, "bar": "baz" }
}
解组为:
type Bar struct {
Id int64 `json:"id"`
Foo []byte `json:"foo"`
}
我收到以下错误:
json: cannot unmarshal object into Go value of type []uint8
游乐场演示
我认为您正在寻找的是包中的RawMessage类型encoding/json
。
该文档指出:
输入RawMessage [] byte
RawMessage是原始编码的JSON对象。它实现了Marshaler和Unmarshaler,可用于延迟JSON解码或预计算JSON编码。
这是使用RawMessage的工作示例:
package main
import (
"encoding/json"
"fmt"
)
var jsonStr = []byte(`{
"id" : 15,
"foo" : { "foo": 123, "bar": "baz" }
}`)
type Bar struct {
Id int64 `json:"id"`
Foo json.RawMessage `json:"foo"`
}
func main() {
var bar Bar
err := json.Unmarshal(jsonStr, &bar)
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", bar)
}
输出:
{Id:15 Foo:[123 32 34 102 111 111 34 58 32 49 50 51 44 32 34 98 97 114 34 58
32 34 98 97 122 34 32 125]}
操场
我正在尝试使用来部分地反序列化模型,因此其中一个属性被读取为包含原始JSON的字符串。 示例代码 应该生成模型,其中属性将原始JSON中的Info对象作为字符串包含: 它不能开箱即用并抛出异常: System.Text.Json.JsonException:--- 到目前为止我尝试了什么: 并将其应用于模型中 并将选项添加到 尽管如此,它还是抛出了相同的异常: System.Text.Json.J
我正在尝试将下面的对象转换为字符串数组 JSON对象 输入: 所需输出:
问题内容: 我想将Javascript对象编码为JSON字符串,但遇到了很多困难。 对象看起来像这样 我想将其放入JSON字符串以将其放入ajax请求中。 你明白了。不管我做什么,都行不通。所有JSON编码器(如json2等)都会产生 好吧,那对我没有帮助。基本上我想拥有类似php 函数的功能。 问题答案: 除非定义了变量,否则可能是造成您麻烦的原因。这样的事情会做你想要的: 您也可以一次完成所有
问题内容: 我正在寻找一种优雅的方式来获取数据,该数据使用具有一些嵌套dict和列表(例如javascript样式对象语法)的dict进行属性访问。 例如: 应该以这种方式访问: 我认为,没有递归是不可能的,但是获得字典对象样式的一种好方法是什么? 问题答案: 更新:在Python 2.6及更高版本中,请考虑namedtuple数据结构是否满足你的需求: 备选方案(原始答案内容)为: 然后,你
问题内容: 我有一个像这样的数据结构: 我想使用这些变量访问数据: part1name应该用的值(即“第1部分”)填充。part2quantity填充60。 无论如何,可以使用纯JavaScript或JQuery来实现这一目标? 问题答案: 我只是根据已经拥有的一些类似代码制作的,它似乎可以工作: 用法:: 编辑一些人已经注意到,如果传递的字符串最左边的索引与对象内正确嵌套的条目不对应,则此代码将
< b >想改进这个问题?通过编辑此帖子更新问题,使其只关注一个问题。 我正在尝试将下面的对象转换为字符串数组 JSON对象 输入: 所需输出: < code>[“餐具室- 我的POJO看起来像这样 如何使用 java 8 流 API 扁平嵌套类别的 JSON 对象。 我尝试使用递归和java 8 flatMap函数来展平和连接字符串,但没有按预期获得输出。 这是基于亲子关系,因为食品储藏室是父母