Proposal - Define JSON Logic on the JSON Data Model #17
Replies: 5 comments 47 replies
-
Not sure if within the scope of this proposal, but I think most programming languages can describe this model relatively straightforward, but I think numbers require some extra considerations. Should they be represented as floating binary points or floating decimal points, and how precise? Json itself does not put any constraints on the precision of numbers, but that might result in an inefficient or unworkable solution in most languages. |
Beta Was this translation helpful? Give feedback.
-
Warning Revote necessary because of new appended suggestion; this is an outdated vote. Approved; +1 |
Beta Was this translation helpful? Give feedback.
-
Warning Revote necessary because of new appended suggestion; this is an outdated vote. Agreed 100%. |
Beta Was this translation helpful? Give feedback.
-
Okay: We have 3 TC Approvals (I'm assuming @gregsdennis implicitly approves this), but some community dissent. I think I'd like to switch to Apache Voting, Warning Revote necessary because of new appended suggestion; these are outdated votes. TC Approval Votes:
Community Dissent:
Assuming @JTeeuwissen is a -0.2, and @dslmeinte is a -0.1 (maybe +0.1) The dissent is on whether the JSON Logic Core specification should incorporate any additional specifications around "numbers" beyond what JSON specifies. Dissent SummaryCommunity Concern: Because JSON does not specify a range for numbers, many JSON parsers use IEEE754, and cannot represent large integers. @gregsdennis believes that the JSON / YAML Parser is responsible for deciding the range, not the JSON Logic Core spec, which follows prior art with what JSON / JSON-E / JSON Schema decided. |
Beta Was this translation helpful? Give feedback.
-
Okay folks! I don't think we're going to reach perfect consensus here. I think everyone had great input, and I think debate truly helps us achieve a better outcome. To be clear, I did appreciate the points / thoughts raised by @JTeeuwissen, @dslmeinte and @rmannibucau, and I hope everyone felt heard in this discussion. I think based on the approvals, we will be moving forward with the compromise:
The points about the logic & behavior portability are acknowledged; and we agree that there should be a mandate, but the implementation threshold will be maintained outside of the RFC. This will allow the org to upgrade the base threshold more rapidly as we get mass support for community extensions. TC Approvers:
Assumed Abstaining: |
Beta Was this translation helpful? Give feedback.
-
JSON Schema, JSON Path, and JSON-e are all defined on the JSON data model. That is, they are defined on a data model that consists of:
true
literalfalse
literalnull
literaltrue
andfalse
are typically combined as a "boolean" type. Also, an object property being present with anull
value is distinct from the property missing.Most importantly, operating on this data model:
Important
@TotalTechGeek is appending the following suggestion to this proposal https://github.com/orgs/json-logic/discussions/17#discussioncomment-11674812
Beta Was this translation helpful? Give feedback.
All reactions