动态分配结构

时间:2017-10-24 19:50:22

标签: json go

我有一个结构:

type person struct{
    FirstN      [10]byte
    Last Name   [10]byte
    Address     [15]byte
    zip         [6]byte
}

然后我有地图

   xyz = [01:aaaaaaaaaabbbbbbbbbbccccccccccccccc123456]

此地图与我的结构完全相同。基本上,如果我用地图中的字符串覆盖我的结构,那就完全匹配了。

我正在尝试使用Marshal获取此数据的JSON字符串。但是为此(我理解)我需要将地图中的数据更新到结构中,然后将结构指针传递给Marshal

但我无法找到任何方法从地图上获取数据' 01'这是一个字符串,用它初始化我的结构。我不想通过解析地图中的字符串来添加代码来更新结构中的每个字段。有没有办法做到这一点或硬编码是唯一的选择。

还有一种方法可以直接从地图字符串创建JSON字符串吗?

1 个答案:

答案 0 :(得分:2)

那不是json数据。但是,binary.Read函数将按照结构布局从二进制流中解码任意固定大小的值。

data := []byte("aaaaaaaaaaaaaaaaaaaaccccccccccccccc123456")
err := binary.Read(bytes.NewReader(data), binary.LittleEndian, &p)

https://play.golang.org/p/-I_XhUCvNN