Преобразовать строку члена JSON в объект JSON - PullRequest
0 голосов
/ 06 июня 2018

У меня есть такая структура:

type ResponseStatus struct {
    StatusCode int
    Message    string
    Data       string `json:"data"`
}

type Pets struct {
    Id   int    `json:"id"`
    Name string `json:"name"`
    Age  int    `json:"age"`
    Type string `json:"type"`
}

, и это мой результат json:

{
    "StatusCode": 200,
    "Message": "Hello framework - OK",
    "data": "[{\"id\":1,\"name\":\"george\",\"age\":2,\"type\":\"dog\"},{\"id\":2,\"name\":\"walter\",\"age\":1,\"type\":\"rabbit\"},{\"id\":3,\"name\":\"tom\",\"age\":1,\"type\":\"cat\"},{\"id\":4,\"name\":\"doggo\",\"age\":5,\"type\":\"dog\"},{\"id\":5,\"name\":\"torto\",\"age\":3,\"type\":\"turtle\"},{\"id\":6,\"name\":\"jerry\",\"age\":1,\"type\":\"hamster\"},{\"id\":7,\"name\":\"garf\",\"age\":2,\"type\":\"cat\"},{\"id\":8,\"name\":\"milo\",\"age\":4,\"type\":\"dog\"},{\"id\":9,\"name\":\"kimi\",\"age\":2,\"type\":\"cat\"},{\"id\":10,\"name\":\"buck\",\"age\":1,\"type\":\"rabbit\"}]"
}

Как мне избежать двойных кавычек в моих данных результатов в виде JSON, например:

{
  "StatusCode": 200,
  "Message": "Hello framework - OK",
  "data": [
    {"id": 1,"name": "george","age": 2,"type": "dog"},
    {"id": 2,"name": "walter","age": 1,"type": "rabbit"},
    {"id": 3,"name": "tom","age": 1,"type": "cat"},
    {"id": 4,"name": "doggo","age": 5,"type": "dog"},
    {"id": 5,"name": "torto","age": 3,"type": "turtle"},
    {"id": 6,"name": "jerry","age": 1,"type": "hamster"},
    {"id": 7,"name": "garf","age": 2,"type": "cat"},
    {"id": 8,"name": "milo","age": 4,"type": "dog"},
    {"id": 9,"name": "kimi","age": 2,"type": "cat"},
    {"id": 10,"name": "buck","age": 1,"type": "rabbit"}
  ]
}

1 Ответ

0 голосов
/ 06 июня 2018

У вас все хорошо, всего несколько замечаний: удалите кавычки до и после квадратных скобок, и вы должны сделать Data типа [Pets] (такую ​​структуру я бы назвал Pet, потому что каждый элемент содержит одного Pet).Квадратные скобки являются частью конструкции JSON.И тогда вам не нужно избегать кавычек, потому что они становятся идентификаторами JSON.

По-вашему, это становится единственной длинной строкой, которая, очевидно, не является тем, что вы намереваетесь иметь.

Это структуры, которые подходят для вашего второго JSON

type ResponseStatus struct {
   StatusCode int    
   Message    string 
   Data       []Pet  `json:"data"`
}

type Pet struct {
   Id   int    `json:"id"`
   Name string `json:"name"`
   Age  int    `json:"age"`
   Type string `json:"type"`
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...