javascript - 用于用 JavaScript 解析的 Golang JSON 编码

标签 javascript json node.js go

我有一个这样的结构:

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函数读取内容。 有谁知道解决办法吗?

谢谢!

最佳答案

这是我的错误。问题出在 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...
});

关于javascript - 用于用 JavaScript 解析的 Golang JSON 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20597316/

相关文章:

javascript - 如何从 Node.js 主模块访问全局变量?

json - 从 JSON 字符串查询 secret 值(密码)

node.js - RouterLink 在 Angular 6 中不起作用

javascript - Node.js 模块的继承

javascript - 如何在 Node.js 中实例化一个新的 SystemError 对象?

javascript - 如何返回未知字段名称的总和?

javascript - 我可以使用什么正则表达式来查找简单的正则表达式

javascript - 当没有键/值关联时,在 angular.js 中按字母顺序对 json 数组进行排序

mysql 从数组中提取json元素

python - 从字符串中提取Python对象