<a>type main struct {
Name string `json:
"name"
`
Args []string `json:
"args"
`
}
type arg struct {
Method string `json:
"method"
`
Params par `json:
"params"
`
}
type par struct {
Channel string `json:
"channel,omitempty"
`
Name string `json:
"name,omitempty"
`
NameColor string `json:
"nameColor,omitempty"
`
Text string `json:
"text,omitempty"
`
Time int64 `json:
"time,omitempty"
`
}
str := `{
"name"
:
"message"
,
"args"
:[
"{\"method\":\"chatMsg\",\"params\":{\"channel\":\"channel\",\"name\":\"name\",\"nameColor\":\"B5B11E\",\"text\":\"</a><a href="
\\"https:
var
m main
if
err := json.Unmarshal([]byte(str), &m); err != nil {
log.Fatal(err)
}
var
args arg
if
err := json.Unmarshal([]byte(m.Args[0]), &args); err != nil {
log.Fatal(err)
}<p>이 예제에서 첫 번째 패스는 외부 JSON 문자열을 기본 구조체로 디코딩하여 수행됩니다.
"name"
및
"args"
필드가 포함되어 있습니다. 그런 다음
"args"
필드는 두 번째 단계에서 별도의 JSON 문자열로 구문 분석되어 HTML 엔터티를 제거하고 유효한 arg 개체로 복원합니다. 이 접근 방식을 사용하면 모든 JSON 데이터가 올바르게 처리되고 오류가 방지됩니다.</p><p></p><p>위 내용은 JSON Websocket 데이터에서 중첩된 인코딩 문자열을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!</p>