May*_*ayK 1 google-app-engine go google-cloud-datastore

在我的应用程序中,我从客户端收到一个 json。这个 json 可以是任何东西,因为用户定义了键和值。在后端,我将它作为字符串存储在数据存储中。

现在我试图覆盖 MarshalJson / UnmarshalJson 函数,以便我从客户端发送/接收的不是字符串而是 json。

我不知道如何在 go 中将字符串转换为 json。

我的结构

type ContextData string
type Iot struct {
Id              IotId       `json:"id,string" datastore:"-" goon:"id"`
Name            string   `json:"name"`
Context         ContextData  `json:"context" datastore:",noindex"` }

接收数据示例

{ 'id' : '',
  'name' '',
  'context': {
           'key1': value1,
           'key2': value2 }}
'{'key1':value1, 'key2':value2}'
{ 'id' : '',
  'name' '',
  'context': {
           'key1': value1,
           'key2': value2 }}