Сделать отступ строки, содержащей JSON данные - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть строка как показано ниже:

   "{out: \"world\", out2: \"hello\", employee: {name: \"Singh\", emailid: \"simran@yahoo.com gur@yahoo.com\", address: {street_name: \"xxxxxx\", old_address: {old_street_name: \"xxxxxx\"}}, emp_code: \"12345678\"}, array2: [\"first\", \"second\"]}"

Я хочу получить вывод, как показано ниже. Я попытался использовать Json .MarshalIndent () здесь https://play.golang.org/p/uJbkNS00__k, но он возвращает ту же строку без отступа.

{
  "out": "world",
  "out2": "hello",
  "employee":
     {
      "name": "Singh",
      "emailid": "simran@yahoo.com gur@yahoo.com",
      "address":
         {
           "street_name": "xxxxxx",
           "old_address":
             {
               "old_street_name": "xxxxxx"
             }
         },
      "emp_code": "12345678"
     },
   "array2": ["first","second"]
}

1 Ответ

0 голосов
/ 12 февраля 2020

Я думаю, что вы можете использовать приведенную ниже функцию с небольшими изменениями, чтобы удалить '\' из JSON подобной строки, а затем демонтировать ее.

func StripSlashes(s string) string {
    s = strings.Replace(s, "\", "", -1)
    return s
}

Далее, вы можете пометить JSON строку с помощью g json и используйте результат g json. Или Вы можете использовать JSON .unmarshal (obj) из библиотеки Golang JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...