gpt4 book ai didi

json - 哪些有效的JSON文件不是有效的YAML 1.1文件?

转载 作者:行者123 更新时间:2023-12-04 10:38:54 24 4
gpt4 key购买 nike

YAML 1.2是JSON的超集(对于重复的键,一个minor caveat)是JSON的超集,因此任何有效的JSON文件也是有效的YAML文件。但是,YAML 1.1 specification(具有最多library support)没有提到JSON。大多数有效的JSON文件都是有效的YAML 1.1文件,但是我通过试验PyYaml和Python的标准JSON库发现了至少一个异常(exception):

  • PyYAML将 double 浮点溢出(例如12345e999)解释为字符串,而Python的JSON库将IEEE infinity解释为字符串。

  • 有没有人拥有完整的差异列表,而差异列表比通过测试特定实现中的极端情况更可靠地确定了吗? (也就是说,通过比较规范?)例如,我想生成JSON字符串,该字符串将由JSON解析器和YAML 1.1解析器以相同的方式进行解释:我必须对字符串施加哪些约束?

    最佳答案

    参见here(特别是脚注25)。它说:

    The incompatibilities were as follows: JSON allows extended character sets like UTF-32 and had incompatible unicode character escape syntax relative to YAML; YAML required a space after separators like comma, equals, and colon while JSON does not. Some non-standard implementations of JSON extend the grammar to include Javascript's /*...*/ comments. Handling such edge cases may require light pre-processing of the JSON before parsing as in-line YAML



    另请参阅 https://metacpan.org/pod/JSON::XS#JSON-and-YAML

    相关的
    What is the difference between YAML and JSON? When to prefer one over the other

    关于json - 哪些有效的JSON文件不是有效的YAML 1.1文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21584985/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com