Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 动态分配结构_Json_Go - Fatal编程技术网

Json 动态分配结构

Json 动态分配结构,json,go,Json,Go,我有一个结构: type person struct{ FirstN [10]byte Last Name [10]byte Address [15]byte zip [6]byte } 然后我有地图 xyz = [01:aaaaaaaaaabbbbbbbbbbccccccccccccccc123456] 此映射与我的结构完全相同。基本上,如果我在地图上用字符串覆盖我的结构,它就是一个精确的匹配 我正在尝试使用Mar

我有一个结构:

type person struct{
    FirstN      [10]byte
    Last Name   [10]byte
    Address     [15]byte
    zip         [6]byte
}
然后我有地图

   xyz = [01:aaaaaaaaaabbbbbbbbbbccccccccccccccc123456]
此映射与我的结构完全相同。基本上,如果我在地图上用字符串覆盖我的结构,它就是一个精确的匹配

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

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


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

这不是
JSON
数据。但是,
binary.Read
函数将根据结构布局对二进制流中任意固定大小的值进行解码

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

我不懂你的地图。你的地图在围棋中是如何定义的?你给我们看的不是有效的密码。这是什么?我的地图是personMap:=make(地图[字符串]字符串)。我使用personMap创建的这个工具:=[01:aaaaaaaaaaaaaaaaaaaabbbbbbcccccccccc123456]。我想把地图中的值填充到我的Person结构中。。。然后调用jsResp,:=json.Marshal(PersonStructPtr)来创建json对象。。。这能澄清你的问题吗?这很有效。。非常感谢@JimB。但是如果你能帮忙的话,我还有另一个跟进…好的,所以我不能在评论中添加很多数据,看起来@JimB你能在下面的链接上看看我的后续问题吗