ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/JSON-XS/XS.pm
(Generate patch)

Comparing JSON-XS/XS.pm (file contents):
Revision 1.81 by root, Sat Dec 29 17:33:38 2007 UTC vs.
Revision 1.82 by root, Sun Dec 30 21:24:57 2007 UTC

906 906
907 907
908=head2 JSON and YAML 908=head2 JSON and YAML
909 909
910You often hear that JSON is a subset of YAML. This is, however, a mass 910You often hear that JSON is a subset of YAML. This is, however, a mass
911hysteria and very far from the truth. In general, there is no way to 911hysteria(*) and very far from the truth. In general, there is no way to
912configure JSON::XS to output a data structure as valid YAML that works for 912configure JSON::XS to output a data structure as valid YAML that works for
913all cases. 913all cases.
914 914
915If you really must use JSON::XS to generate YAML, you should use this 915If you really must use JSON::XS to generate YAML, you should use this
916algorithm (subject to change in future versions): 916algorithm (subject to change in future versions):
930There might be other incompatibilities that I am not aware of. In general 930There might be other incompatibilities that I am not aware of. In general
931you should not try to generate YAML with a JSON generator or vice versa, 931you should not try to generate YAML with a JSON generator or vice versa,
932or try to parse JSON with a YAML parser or vice versa: chances are high 932or try to parse JSON with a YAML parser or vice versa: chances are high
933that you will run into severe interoperability problems when you least 933that you will run into severe interoperability problems when you least
934expect it. 934expect it.
935
936=over 4
937
938=item (*)
939
940This is spread actively by the YAML team, however. For many years now they
941claim YAML were a superset of JSON, even when proven otherwise.
942
943Even the author of this manpage was at some point accused of providing
944"incorrect" information, despite the evidence presented (claims ranged
945from "your documentation contains inaccurate and negative statements about
946YAML" (the only negative comment is this footnote, and it didn't exist
947back then; the question on which claims were inaccurate was never answered
948etc.) to "the YAML spec is not up-to-date" (the *real* and suppsedly
949JSON-compatible spec is apparently not currently publicly available)
950to actual requests to replace this section by *incorrect* information,
951suppressing information about the real problem).
952
953So whenever you are told that YAML was a superset of JSON, first check
954wether it is really true (it might be when you check it, but it cetrainly
955is not true when this was written). I would much prefer if the YAML team
956would spent their time on actually making JSON compatibility a truth
957(JSON, after all, has a very small and simple specification) instead of
958trying to lobby/force people into reporting untruths.
959
960=back
935 961
936 962
937=head2 SPEED 963=head2 SPEED
938 964
939It seems that JSON::XS is surprisingly fast, as shown in the following 965It seems that JSON::XS is surprisingly fast, as shown in the following

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines