I'm trying to read from a database and then return the result to the user as json.
What's happening is that I'm getting output like:
[{"Key":"foo","Value":"bar"}]
When I would like to get:
"{"foo":"bar"}"
How do I get the former?
Example: (reading from the db and converting Raw
to string are not shown)
package main
import (
"encoding/json"
"fmt"
"go.mongodb.org/mongo-driver/bson"
)
func main() {
var data = "{"foo":"bar"}"
var testInterface interface{}
e := bson.UnmarshalExtJSON([]byte(data), false, &testInterface)
if e != nil {
fmt.Println("err is ", e)
}
out, _ := json.Marshal(testInterface)
fmt.Println(string(out))
// prints: [{"Key":"foo","Value":"bar"}]
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…