오류 이해 :
json: cannot unmarshal string into Go value of type float64
[galaxy nexus ":"3460.00 ":"3460.00 "}"} "}" 오류 :
json : 유형의 go 값으로 끊임없이 문자열을 할 수 없다. 이 문제를 해결하려면 유형 변환 주석을 사용하여 문자열을 플로트 64로 처리하도록 디코더에 명시 적으로 지시해야합니다. 이 주석은 제품 구조물의 필드 정의에 추가됩니다 :
type Product struct { Name string Price float64 `json:",string"` }
The ", String"Tag는 JSON 디코더에게 가격 필드가 float64로 변환되어야하는 문자열이라고 말합니다. 수입 (수입) "인코딩/json" "FMT" )) 유형 제품 구조 { 이름 문자열 Price Float64` JSON : ", String"` } func main () { s : =`{ "name": "galaxy nexus", "price": "3460.00"}` var pro 제품 err : = json.unmarshal ([] byte (s), & pro) err == nil {인 경우 fmt.printf ( "% v \ n", pro) } 또 다른 { fmt.println (err) fmt.printf ( "% v \ n", pro) } }
예상 출력 :
이 코드를 실행하는이 코드를 실행하면
package main import ( "encoding/json" "fmt" ) type Product struct { Name string Price float64 `json:",string"` } func main() { s := `{"name":"Galaxy Nexus", "price":"3460.00"}` var pro Product err := json.Unmarshal([]byte(s), &pro) if err == nil { fmt.Printf("% v\n", pro) } else { fmt.Println(err) fmt.Printf("% v\n", pro) } }
json: cannot unmarshal string into Go value of type float64json을 성공적으로 변환했습니다. float64.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3