pjh123
eb6bc412d9
builtins/vm: JSON.stringify 序列化与键面改单元域——孤立 surrogate 串值不再被 lossy 串值打碎
jsvalue_to_json 串值分支原经 to_owned_string(lossy)后按 char 流序列化:孤立
surrogate 单元被打成 U+FFFD 且输出裸非法码单元(非 well-formed JSON,
JSON.parse 无法复原同值)。现按单元流序列化(stringify_string_units):良配
代理对原样输出 astral 字符,非配对孤立 surrogate 输出 \\uXXXX(well-formed
JSON 要求,round-trip 复原同值),C0/C1 控制码输出 \\uXXXX,其余按 JSON
转义规则。
toJSON/replacer 键参数同改:键 si 物化为单元序列(整数键 → ASCII 数字串,
字符串键 → 码表键经 decode_key 还原含孤立 surrogate 单元),new_string_units_owned
建参——与 0c750fa 键物化面(Object.keys/ownKeys/entries/Reflect.ownKeys/json
reviver 键同源)口径一致,replace/reviver 键参数不再走 lossy 串值。
三并钉:json_tests 增补 stringify 孤立 surrogate round-trip / 代理对 astral
直出 / 键面单元传递三则;JSON 套件 37/0,node 13 用例对照一致。
2026-09-14 07:33:51 +00:00
..
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-13 07:35:10 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-14 03:04:23 +00:00
2026-09-13 07:35:10 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-13 19:40:48 +00:00
2026-09-13 07:35:10 +00:00
2026-09-14 03:04:23 +00:00
2026-09-11 22:19:13 +00:00
2026-09-13 17:06:10 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-13 12:26:12 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-12 19:27:22 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-13 10:46:10 +00:00
2026-09-13 17:07:51 +00:00
2026-09-13 10:46:10 +00:00
2026-09-13 12:26:24 +00:00
2026-09-13 10:46:10 +00:00
2026-09-13 02:05:31 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-14 07:33:51 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-13 11:05:52 +00:00
2026-09-11 19:43:55 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-13 00:41:48 +00:00
2026-09-12 19:27:22 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-12 15:48:32 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00
2026-06-09 00:53:46 +08:00
2026-09-11 22:19:13 +00:00
2026-09-11 22:19:13 +00:00