如何在没有将所有密钥都命名为“ Key”的情况下从BSON获取JSON?

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"}]
}

You need to provide a map instead of an interface to get value as a key-value pair.

Try:

package main

import (
    "encoding/json"
    "fmt"

    "go.mongodb.org/mongo-driver/bson"
)

func main() {

    var data = "{\"foo\":\"bar\"}"
    var testInterface map[string]string
    e := bson.UnmarshalExtJSON([]byte(data), false, &testInterface)
    if e != nil {
        fmt.Println("err is ", e)
    }

    out, _ := json.Marshal(testInterface)
    fmt.Println(string(out))
    // prints: {"foo":"bar"}
}