在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 ``
}
使用所有可能的
值将 data
解组到 result
var result UpdatePasswordRequest
json.Unmarshal([]byte(data), &result)
给出空的 Login
和 Password
:
result.SignInData.Login = ""
result.SignInData.Password = ""
我应该如何定义
以获得 Login
和 Password
字段的正确值?
解决方法
如果您要使用
的名称,您的 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 字符串传递到嵌套结构的字段?的详细内容,更多请关注编程网其它相关文章!