用于解析 JavaScript 的 Golang JSON 编码

我有一个这样的结构:


type User struct {

  Login         string    `json:",string"`

  PasswordNonce Nonce     `json:",string"`

  PasswordHash  HashValue `json:",string"`

  CreatedOn     time.Time `json:",string"`

  Email         string    `json:",string"`

  PhoneNumber   string    `json:",string"`

  UserId        Id        `json:",string"`

}

生成 JSON 并发送它的代码如下:


func AddUserHandler(w http.ResponseWriter, r *http.Request) {

    var userRecord model.User

    encoder := json.NewEncoder(w)

    err = encoder.Encode(userRecord)

    if err != nil {

        panic(err)

    }

}

当我使用 Golang 内置的 JSON 编码器对其进行编码时,字段名称出现时没有引号,这会阻止 node.js 中的 JSON.parse 函数读取内容。有谁知道解决办法?


慕盖茨4494581
浏览 208回答 2
2回答

哆啦的时光机

这是我的错误。问题出在 Javascript 代码中。我正在使用 node.js 请求包,它似乎默认解析 JSON 响应。在以下代码中, response.body 已经是一个包含 JSON 字符串解析内容的映射:var request = require('request');var options = {    uri: 'http://localhost:3000/AddUser',    method: 'POST',    json: {}};request(options, function(error, response, body) {    console.log(error)    console.log(response.body)    console.log(response.body["UserId"])    data = response.body    // data = JSON.parse(response.body) gives an error...});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go