SQLite 接收JSON5配置:json函数能读懂,为什么json_valid仍然返回零 配置为了便于手写,使用单引号、尾随逗号和未加引号的字段名。SQLite的json函数能够转换它,单参数json_valid却报告不合法,表面看像两个函数互相矛盾。实际上,一个入口可以理解扩展语法,另一个检查默认仍坚持... yunqueblog/ 技术教程/ 2026-10-03/ 2 阅读
Python HMAC 验签的字节边界:JSON 内容没变,重新序列化后为什么仍然失败 接收一个带签名的回调,框架已经把JSON解析成字典。业务代码把字典再转回JSON,用共享密钥计算HMAC,字段和值明明一样,验签却失败。关键不在字典内容,而在发送方到底认证了哪一串字节:空格、换行和字段排列都可能改变... yunqueblog/ 技术教程/ 2026-10-03/ 3 阅读
SQLite json_patch 的数组边界:只想加一个标签,为什么旧列表整个被换掉 配置页面允许用户修改颜色、补一个标签、清空备注。后端把这一小段JSON交给json_patch,颜色更新正确,原来的两个标签却只剩下新标签,备注字段更是彻底消失。函数名称里的patch容易让人联想到逐项补丁,但它采用... yunqueblog/ 技术教程/ 2026-10-03/ 3 阅读
SQLite json_extract 的返回类型:只取一个字段是数字,多加一条路径为什么变成文本 某段查询原本只取 quantity,应用收到数字 7;后来为了顺便取 label,给 json_extract 增加一条路径,返回值却成了文本。SQLite 的这个函数并不固定返回一种“JSON对象”:路径个数与被取... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
JavaScript toJSON 的位置参数:同一个对象,放进根、字段和数组为什么输出不同 给对象定义 toJSON 后,JSON.stringify 使用的是这个方法返回的表示。这个钩子还会收到一个 key 参数:同一个对象直接导出、放到 payload 字段里、或放到数组里,收到的位置名称各不相同。如果... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
SQLite json_each 与 json_tree:看见了数组,为什么还没有拿到里面的元素 把嵌套配置交给 json_each,结果里出现了 panel 和 sizes 两行,却没有 theme 或每个尺寸。json_each 在这里展开的是根对象的直接孩子;一个孩子是对象、另一个孩子是数组,它不会自动把它... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
SQLite json_set 路径边界:缺少父对象能补上,父位置是 null 为什么却不更新 一批配置里有的记录没有 prefs,有的把 prefs 写成 JSON null。给它们统一执行 json_set(doc, '$.prefs.theme', 'dark'),结果前者增加了对象,后者仍然原样返回。函... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
JavaScript JSON.parse reviver:父对象收到的值,为什么已经被孩子改过 读取配置时,希望把计数转换成需要的形式,再去掉只供调试的字段。有人把这些逻辑放进 JSON.parse 的第二个参数,却发现父对象已经变了,甚至整份结果变成 undefined。问题通常来自对 reviver 调用时... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
SQLite json_object 的值参数:内容像数组,为什么最终变成了字符串 参数绑定保住了文本,却未决定结构准备接口响应时,把已有数组文本传给 json_object,结果可能是 items 字段里套着一段带方括号的字符串。原始字符都在,JSON 也合法,但下游需要的是数组,类型已经不对。这... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读
JavaScript JSON.stringify:同一个 undefined,在对象里消失,在数组里变成 null 一个设置页面把备注改成 undefined,希望服务器清空它。调试时对象里确实有这个字段,但发出的 JSON 却没有,服务器因而保留旧值。另一个页面把同样的值放进数组,收到的却是 null。问题不在网络传输,而在编码... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读