当前位置: 首页 > 面试题库 >

无法将字符串解组为int64类型的Go值

别兴国
2023-03-14
问题内容

我有结构

type tySurvey struct {
    Id     int64            `json:"id,omitempty"`
    Name   string           `json:"name,omitempty"`
}

我确实json.Marshal在HTML页面中写入JSON字节。jQuery修改name对象中的字段并使用jQueries对对象进行编码,JSON.stringify并且jQuery将字符串发布到Go处理程序

id 编码为字符串的字段。

已发送:已{"id":1}收到:{"id":"1"}

问题在于json.Unmarshal无法解组该JSON,因为id不再是整数。

json: cannot unmarshal string into Go value of type int64

处理此类数据的最佳方法是什么?我不希望手动转换每个字段。我希望编写紧凑,无错误的代码

行情还不错。JavaScript不能与int64配合使用。

我想学习使用int64值中的字符串值解组json的简单方法。


问题答案:

这可以通过添加,string到标签中来进行处理,如下所示:

type tySurvey struct {
   Id   int64  `json:"id,string,omitempty"`
   Name string `json:"name,omitempty"`
}

这可以在Marshal的文档中找到。

请注意,您不能通过指定来解码空字符串,omitempty因为它仅在编码时使用。



 类似资料:
  • 问题内容: 你想达到什么目的? 我正在尝试从JSON API解析数据。 粘贴显示问题的代码部分。 您期望结果如何? 我希望代码返回接口对象列表。 您得到的实际结果是什么? 我收到一个错误: 问题答案: 该应用程序正在将JSON数组解组到结构。解组切片: 考虑解组为[] map [string]字符串或[] Tick,其中Tick是

  • 问题内容: json:无法将数组解组为类型的Go值 配置json: 和我的golang代码是这样的: json解析代码: 问题答案: 您的类型是造成问题的原因。摆脱它,它的工作原理是: 游乐场:https://play.golang.org/p/Prt1j7ePCZ。

  • 我想将字符串转换为int64。我从<code>strconv ParseInt实际上返回一个int64: 所以如果我想从一个字符串中获取一个int64,我应该避免使用Atoi,而是使用ParseInt吗?还是有Atio64藏在某个地方?

  • 您好,我正在使用Spring 4.1.1.RELEASE开发一个web应用程序。所有的Spring配置都是通过注释完成的,除了一点之外,它运行得很好: > 我在项目中有一个包含这些行的config.properties文件 我有一个配置类 和另一个类 属性“filter”的值已成功从属性资源中注入。但是我在属性“计数”上得到了一个例外: 当我将属性“count”的类型更改为String时,它开始工

  • 我有一个用盐散列加密密码的类。 但是,如果要向类传递null,则会出现以下错误: 当我使用类时,我得到错误:“不能隐式转换类型字符串到Byte[]”