Структура ответа map
map[
/dbus-service:map[
org.freedesktop.DBus.Introspectable:map[]
org.freedesktop.DBus.Peer:map[]
org.freedesktop.DBus.Properties:map[]
Basket:map[
Fruit:"Apple"
]
]
При конвертации в json значение поле Fruit "теряется".
"/dbus-service":{
"org.freedesktop.DBus.Introspectable":{},
"org.freedesktop.DBus.Peer":{},
"org.freedesktop.DBus.Properties":{},
"Basket":
{
"Fruit":{}
}
}
Почему так?
Для вывода использую
fmt.Printf("%v", data)
jsonData, _ := json.Marshal(data)
fmt.Printf("json data: %s", jsonData)
UDP
Тип данных для Fruit: dbus.Variant
fmt.Println(reflect.TypeOf(data["/dbus-service"]["Basket"]["Fruit"])) // dbus.Variant
Библиотека для dbus:
https://github.com/godbus/dbus
Судя по исходным кодам dbus.Variant -
https://github.com/godbus/dbus/blob/76236955d466b0...
type Variant struct {
sig Signature
value interface{}
}
UPD2
Доступ к данным доступен через Value()
reflect.TypeOf(data["/dbus-service"]["Basket"]["Fruit"] // "Apple"
reflect.TypeOf(data["/dbus-service"]["Basket"]["Fruit"].Value() // "Apple"