π¬ Π§ΡΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°ΠΏΡ ΡΠΈΠΏΠ° any?
ΠΡΠΈ Π΄Π΅ΠΌΠ°ΡΡΠ°Π»ΠΈΠ½Π³Π΅ Π΄Π°Π½Π½ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΌΠ°ΠΏΠΎΠΉ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΡ. ΠΠΎΠ³Π΄Π° ΠΊΠ»ΡΡΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ, ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠ°ΠΏΠΎΠΉ, Π° Π½Π΅ ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΈΜ ΡΡΡΡΠΊΡΡΡΠΎΠΈΜ, Π΄Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ. ΠΠΎ Π΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅Π²Π΅ΡΠ½ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΜ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΈΜ ΠΏΠ°Π½ΠΈΠΊΠΈ.
π ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΈΜ JSON:
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ±ΡΡΡ ΠΌΠ°ΠΏΡ
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°ΠΏΡ ΡΠΈΠΏΠ°
ΠΡΠ²Π΅Π΄Π΅ΠΌ ΡΠΈΠΏ
ΠΠ°ΠΆΠ½ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΜ ΠΈ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±Π΅Π· Π΄Π΅ΡΡΡΠΈΡΠ½ΡΡ Π·Π½Π°ΠΊΠΎΠ² Π±ΡΠ΄ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ Π² ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°.
ΠΡΠΈ Π΄Π΅ΠΌΠ°ΡΡΠ°Π»ΠΈΠ½Π³Π΅ Π΄Π°Π½Π½ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΌΠ°ΠΏΠΎΠΉ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΡ. ΠΠΎΠ³Π΄Π° ΠΊΠ»ΡΡΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ, ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠ°ΠΏΠΎΠΉ, Π° Π½Π΅ ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΈΜ ΡΡΡΡΠΊΡΡΡΠΎΠΈΜ, Π΄Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ. ΠΠΎ Π΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅Π²Π΅ΡΠ½ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΜ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΈΜ ΠΏΠ°Π½ΠΈΠΊΠΈ.
π ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
b := getMessage()
var m map[string]any
err := json.Unmarshal(b, &m)
if err != nil {
return err
}
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΈΜ JSON:
{
"id": 32,
"name": "foo"
}
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ±ΡΡΡ ΠΌΠ°ΠΏΡ
map[string]any
, ΠΎΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΡΡΠΈΡ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ: map[id:32 name:foo]
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°ΠΏΡ ΡΠΈΠΏΠ°
any
Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π»ΡΠ±ΠΎΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ½ΠΎ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΠΈΠΏ float64
. ΠΡΠ²Π΅Π΄Π΅ΠΌ ΡΠΈΠΏ
m["id"]
ΠΈ ΡΠ±Π΅Π΄ΠΈΠΌΡΡ Π² ΡΡΠΎΠΌ:fmt.Printf("%T\n", m["id"])
float64
ΠΠ°ΠΆΠ½ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΜ ΠΈ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±Π΅Π· Π΄Π΅ΡΡΡΠΈΡΠ½ΡΡ Π·Π½Π°ΠΊΠΎΠ² Π±ΡΠ΄ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ Π² ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°.