Похожие чаты

Gophers, how do I json.Marshal the output in my json

of a struct array with no value?
out:
{"code":"","a":null}
but I would like to do this
{"code":"","a":[{"id":"","name":""}]}

type A struct {
ID string json:"id"
Name string json:"name"
}

type B struct {
Code string json:"code"
A []A json:"a"
}

12 ответов

26 просмотров

how are you expecting a non-empty array when the slice is nil?

jeffotoni- Автор вопроса
Roman Sharkov
how are you expecting a non-empty array when the s...

all empty, I need to mount the empty struct json. I'm seeing your customize the MarshalJSON

jeffotoni- Автор вопроса

golang's stdlib encoding/json library currently marshals empty arrays as null rather than []

jeffotoni- Автор вопроса

do you know a way around? I'm not finding any other solution than to declare the structure and append something empty to make it work 😔😔

jeffotoni- Автор вопроса
Roman Sharkov
how are you expecting a non-empty array when the s...

The simplest solution I found was to make an append even empty so that Go does the allocation and thus the json of the output. b.A = append(b.A, a) {"code":"","a":[{"id":"","name":""}]}

jeffotoni- Автор вопроса
Roman Sharkov
https://go.dev/play/p/OW3MJNwjwE-

in your example I will always receive like this Foo{X: nil} so I always need to test if it's nil and if I need to tell Go that I want to print its struct .

jeffotoni
in your example I will always receive like this Fo...

can you create a playground example? I honestly don't understand the problem

jeffotoni- Автор вопроса
Edwing123
Wow that's kind of ugly

no, it doesn't. It marshals nil as null

jeffotoni- Автор вопроса
Edwing123
Wow that's kind of ugly

a lot, how would you do it?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
any reference of this implementation?
BitBuddha
29
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
So much speculation in the last week. So much volatility in price. This is because Hedera has a GC that isn't using the network it's governing. Why aren't people asking why a...
Summit Seeker R
9
Карта сайта