You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To facilitate client implementation and marshaling of the json we should consider to use the same data structure. e.g array even when only returning a single datapoint. That is we can rely on the json marshaling to do the translation for us and no need to check the type.
Ex in Golang:
var msg Message
err := json.Unmarshal([]byte(vssjson), &msg)
if err != nil {
fmt.Println("Error:", err)
}
Now we need to do:
var msg Message
err := json.Unmarshal([]byte(vssjson), &msg)
if err != nil {
fmt.Println("Error:", err)
}
switch dp := msg.Data.Dp.(type) {
case []interface{}:
fmt.Println("Data Points:")
val_string := ""
for _, item := range dp {
dataPoint := item.(map[string]interface{})
value := dataPoint["value"].(string)
ts := dataPoint["ts"].(string)
fmt.Printf(" Value: %s, Timestamp: %s\n", value, ts)
val_string = val_string + value + " "
}
return val_string
default:
if dp != nil {
fmt.Println("Single Data Point:")
dataPoint := dp.(map[string]interface{})
value := dataPoint["value"].(string)
ts := dataPoint["ts"].(string)
fmt.Printf(" Value: %s, Timestamp: %s\n", value, ts)
return value
}
}
The text was updated successfully, but these errors were encountered:
To facilitate client implementation and marshaling of the json we should consider to use the same data structure. e.g array even when only returning a single datapoint. That is we can rely on the json marshaling to do the translation for us and no need to check the type.
Ex in Golang:
Now we need to do:
The text was updated successfully, but these errors were encountered: