0
코드가 있습니다. http://play.golang.org/p/HDlJJ54YqWGolang Json 예상 값을 반환하지 않음
사람의 전화 번호 및 이메일을 인쇄하고 싶습니다. 여러 항목이있을 수 있습니다. 그러나 오류가 정의되지 않습니다. 누구든지 도와 드릴 수 있습니까?
감사합니다.
코드가 있습니다. http://play.golang.org/p/HDlJJ54YqWGolang Json 예상 값을 반환하지 않음
사람의 전화 번호 및 이메일을 인쇄하고 싶습니다. 여러 항목이있을 수 있습니다. 그러나 오류가 정의되지 않습니다. 누구든지 도와 드릴 수 있습니까?
감사합니다.
작은 세부 정보 : 두 번 참조하고 있습니다. 개체의 주소 주소를 json.Unmarshal에 지정합니다. 그냥 주소를 알려줘.
`
은 여러 줄을 입력 할 수 있으므로 json 입력을 분할하지 않아도됩니다.
나는 u.Details[Phone:"1111"].Email
으로 어디에서 성취하려고하는지 알지 못하지만,이 문법은 없습니다. Details
회원은 Detail
의 조각입니다. 슬라이스는 배열과 비슷하며 인덱스로 액세스 할 수 있습니다.
또한 json이 개체 구조와 일치하지 않습니다. 당신은`u.Details을 썼을 때 (http://play.golang.org/p/OP1zbPW_wk)
package main
import (
"encoding/json"
"fmt"
)
type Content struct {
Owner string
Details []*Detail
}
type Detail struct {
Phone string
Email string
}
func (c *Content) SearchPhone(phone string) *Detail {
for _, elem := range c.Details {
if elem.Phone == phone {
return elem
}
}
return nil
}
func (c *Content) SearchEmail(email string) *Detail {
for _, elem := range c.Details {
if elem.Email == email {
return elem
}
}
return nil
}
func main() {
encoded := `{
"Owner": "abc",
"Details": [
{
"Phone": "1111",
"Email": "@gmail"
},
{
"Phone": "2222",
"Email": "@yahoo"
}
]
}`
// Decode the json object
u := &Content{}
if err := json.Unmarshal([]byte(encoded), u); err != nil {
panic(err)
}
// Print out Email and Phone
fmt.Printf("Email: %s\n", u.SearchPhone("1111").Email)
fmt.Printf("Phone: %s\n", u.SearchEmail("@yahoo").Phone)
}
: 당신은 하나 개의 콘텐츠에 여러 세부 사항을 원한다면, 그것은 (
[ ]
)당신이 뭔가를 할 수있는 배열에 포함 할 필요가 [전화 : "1111"] 이메일 뭘 하려니? 유효한 구문이 아닙니다. –
아래 답장에서 답을 얻었습니다. 그게 내가 의도 한 것. 고마워. – Pals