douwen2072
2015-12-15 14:40
浏览 643
已采纳

在golang中将字符串转换为json,反之亦然?

In my app, I receive a json from the client. This json can be anything since the user defines the keys and the values. In the backend I store it as string in the datastore.

Now i'm trying to override the MarshalJson / UnmarshalJson functions so that what I send / receive from the client is not a string but a json.

I can't figure out how to convert a string to json in go.

my structure

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

example of received data

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

how i want to store this Context field in the datastore as a noindex string '{'key1':value1, 'key2':value2}' example of data i want to send

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

图片转代码服务由CSDN问答提供 功能建议

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

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

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

我的结构

  type ContextData string 
type Iot struct {
Id IotId`json:“ id,string”数据存储区:“-” goon:“ id”`
Name字符串`json:“ name”`
Context ContextData`json:  “上下文”数据存储区:“,noindex”`} 
   
 
 

接收到的数据示例

  {'id'  :'',
'名称''',
'上下文':{
'key1':value1,
'key2':value2}} 
   
 
  

我如何将此Context字段作为noindex字符串存储在数据存储中'{'key1':value1,'key2':value2}' 我要发送的数据示例

  {'id':'',
'name''',
'context':{
'key1':value1,
'key2':value2  }} 
   
 
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新