千金一刻莫空度,老大无成空自伤。这篇文章主要讲述go -Unmarshal 错误的几种情况相关的知识,希望能为你提供帮助。
返回的json如下 :
情况1 返回的json是string,struct里边的tag是其他类型比如是int.则报错
返回的json如下 :
"loan_product_id":"101","manage_rate":"0.41","overdue_rate":"0.09","late_fee_rate":"0.00"
文章图片
type OrderRet struct
ProductIdint`json:"loan_product_id,int"`
OverdueRate float64 `json:"overdue_rate,string"` //
MangeRatefloat64 `json:"manage_rate,string"`
LateFeeRate float64 `json:"late_fee_rate,string"`
比如 OrderRet 结构体里边的 ProductId 类型是int, tag是int 但是json返回是string类型。报错为
cannot unmarshal string into Go struct field OrderRet.loan_product_id of type int
文章图片
情况2 返回的json是int,struct里边的tag是其他类型比如是string.则报错
返回的josn
"loan_product_id":101,"manage_rate":"0.41","overdue_rate":"0.09","late_fee_rate":"0.00"
文章图片
type OrderRet struct
ProductIdint`json:"loan_product_id,string"`
OverdueRate float64 `json:"overdue_rate,string"` //
MangeRatefloat64 `json:"manage_rate,string"`
LateFeeRate float64 `json:"late_fee_rate,string"`或者结构体
type OrderRet struct
ProductIdstring`json:"loan_product_id,string"`
OverdueRate float64 `json:"overdue_rate,string"` //
MangeRatefloat64 `json:"manage_rate,string"`
LateFeeRate float64 `json:"late_fee_rate,string"`ProductIdstring`json:"loan_product_id,string"`类型是 int或者 string,但是tag的与json的int不一样,这里的tag是string
比如 OrderRet 结构体里边的 ProductId 类型是int, tag是string 但是json返回是int类型。报错为
【go -Unmarshal 错误的几种情况】invalid use of ,string struct tag, trying to unmarshal unquoted value into string
文章图片
正常情况 返回的json是字符串,struct是string,tag是int类型,这种不报错
文章图片
推荐阅读
- 流水线pipeline招式之声明式(前篇)
- #yyds干货盘点#ECMAScript 6 - Symbol
- vue日期转换及时区问题 #yyds干货盘点#
- 未捕获的TypeError(无法读取未定义的属性”id”)
- 未捕获的ArgumentCountError(函数wc_get_page_id()的参数太少)
- 无法在wordpress主题上加载自定义CSS
- 无法进入wp-admin登录页面
- 无法在WordPress网站中添加logo。自定义标题添加徽标在网站上不可用
- 使用一个wp-contet/uploads中的映像在同一服务器上进行两次WordPress安装