Dalam PHP, apabila kita perlu menghantar keseluruhan rentetan JSON ke medan struktur bersarang, terdapat cara mudah untuk melakukannya. Pertama, kita perlu memastikan kita telah menyahkod rentetan JSON ke dalam tatasusunan atau objek PHP. Kemudian kita boleh menggunakan fungsi json_encode() untuk mengekod tatasusunan atau objek yang dinyahkodkan ke dalam rentetan JSON sekali lagi. Seterusnya, kita boleh menetapkan rentetan JSON yang dikodkan kepada medan sasaran. Dengan cara ini, kami telah berjaya menghantar keseluruhan rentetan JSON ke medan struktur bersarang. Ini ialah kaedah yang mudah tetapi berkesan yang membolehkan kami memproses data JSON dalam PHP dengan mudah.
Saya perlu membongkar rentetan json yang rata
data := `{"login":"Nickname","password":"some_pass","newPassword":"new_pass"}`
Masukkan UpdatePasswordRequest
struktur bersarang:
type SignInRequest struct { Login string `json:"login"` Password string `json:"password"` } type UpdatePasswordRequest struct { NewPassword string `json:"newPassword"` SignInData SignInRequest `<tag>` }
Gunakan semua yang mungkin <tag>
值将 data
解组到 result
var result UpdatePasswordRequest json.Unmarshal([]byte(data), &result)
memberi kosong Login
和 Password
:
result.SignInData.Login = "" result.SignInData.Password = ""
Bagaimanakah saya harus mentakrifkan <tag>
untuk mendapatkan nilai yang betul untuk medan <tag>
以获得 Login
和 Password
字段的正确值?
如果您要使用 <tag>
?
Penyelesaian
🎜Jika anda akan menggunakan nama<tag>
, json anda hendaklah bersarang, bukan rata, seperti ini: 🎜
data := `{"newPassword":"new_pass", "myTag":{"password":"some_pass", "login":"Nickname"}}`
type SignInRequest struct { Login string `json:"login"` Password string `json:"password"` } type UpdatePasswordRequest struct { NewPassword string `json:"newPassword"` SignInRequest }
Atas ialah kandungan terperinci Bagaimanakah saya boleh menghantar keseluruhan rentetan json ke medan struktur bersarang apabila unmarshalling?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!