在PHP中,当我们需要将整个JSON字符串传递给嵌套结构的字段时,有一种简单的方法可以实现。首先,我们需要确保我们已经将JSON字符串解码为PHP数组或对象。然后,我们可以使用json_encode()函数将解码后的数组或对象再次编码为JSON字符串。接下来,我们可以将编码后的JSON字符串赋值给目标字段。这样,我们就成功地将整个JSON字符串传递给嵌套结构的字段了。这是一种简单而有效的方法,让我们在PHP中轻松处理JSON数据。
我需要解组平面 json 字符串
data := `{"login":"Nickname","password":"some_pass","newPassword":"new_pass"}`
进入UpdatePasswordRequest
嵌套结构:
type SignInRequest struct { Login string `json:"login"` Password string `json:"password"` } type UpdatePasswordRequest struct { NewPassword string `json:"newPassword"` SignInData SignInRequest `<tag>` }
使用所有可能的 8bf259f5a6144433b921fb8b7de94970
值将 data
解组到 result
var result UpdatePasswordRequest json.Unmarshal([]byte(data), &result)
给出空的 Login
和 Password
:
result.SignInData.Login = "" result.SignInData.Password = ""
我应该如何定义 8bf259f5a6144433b921fb8b7de94970
以获得 8bf259f5a6144433b921fb8b7de94970
以获得 Login
和 Password
字段的正确值?
如果您要使用 8bf259f5a6144433b921fb8b7de94970
字段的正确值?
解决方法
🎜如果您要使用8bf259f5a6144433b921fb8b7de94970
的名称,您的 json 应该是嵌套的,而不是扁平的,如下所示:🎜
data := `{"newPassword":"new_pass", "myTag":{"password":"some_pass", "login":"Nickname"}}`🎜如果你不能改变你的json,应该像这样组成结构(又名.struct embedding):🎜
type SignInRequest struct { Login string `json:"login"` Password string `json:"password"` } type UpdatePasswordRequest struct { NewPassword string `json:"newPassword"` SignInRequest }
以上是如何在解组时将整个 json 字符串传递到嵌套结构的字段?的详细内容。更多信息请关注PHP中文网其他相关文章!