对象LazyAny中的错误。 未报告 " ToVal "
作者: JasonMing创建于 2025年3月28日更新于 2025年3月28日
在任何 object.go中看到代码
开始 func (任何 * 对象 Lazy) 任意) ToVal(obj 接口 ) { iter : = 任何.cfg. Borrowiterator(any.buf) 互联网档案馆的存檔,存档日期2013-12-21. 推迟任何.cfg. returnIterator( terer) 命令 读取Val(obj) {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
当`iter.ReadVal(obj)'失败时,错误没有传播给`objectLazyAny.err'。
复制:
开始
func TestJsoniter(t * testing.T) { 测试Jsoniter(t * testing.T){
api:= j. 配置{
否定未知域: 真实,
}. 弗罗兹( )
v. struct{ (中文(简体) ). 风弦 ?
//使用任意. ToVal 无法看到任何错误
obj::= api. Borrow Iterator ([]]字节 ("`{": true}`. 任意读取( E)
obj.toVal( & V)
t.Log(obj.LastError ()) / 这是零, 需要“ 找到未知字段: 栏 ”
/ 使用 ReadVal 可以看到预期错误
inter : = api. BorrowIterator ([]字节 (`{"栏": true}`")).
iter. ReadVal( & v) 数据
t.Log( ter. Error) / 这是“ 找到未知的字段: 栏 ”
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
内容来源: json-iterator/go