[getdns-api] Getting from dicts by subscript operator
Willem Toorop
willem at nlnetlabs.nl
Mon Oct 5 15:15:11 CEST 2015
Op 05-10-15 om 15:07 schreef Willem Toorop:
> Op 23-09-15 om 21:37 schreef Joe Hildebrand (jhildebr):
>> On 9/23/15, 7:37 AM, "Shane Kerr" <shane at time-travellers.org> wrote:
>>> I think that the last one is "correct" JSON Pointer syntax if I
>>> understand the RFC, but I confess that the one above it looks easier to
>>> read to me. :)
>>
>> The last one. I know it's slightly strange to a C programmer, but to a JavaScript programmer, it's not *too* strange, where a['foo'] === a.foo. The advantage here is that in a getdns wrapper that is treating the results as JSON, you could use an existing json-pointer implementation. Also, you don't have to worry about specifying the BNF for the query syntax, thinking about the edge cases, and worrying about the security consequences quite as much.
>
> Good point. Since it has to become part of the spec, it is easier to
> reference an existing syntax (especially since it is standardized) than
> to describe a new one. I have come up with the following wording, to
> append to the first subsection of section 2. (so just before 2.1. starts)
>
> When the name parameter to the getdns_dict_get_ functions, starts with
> a '/' (%x2F) character, it is interpreted as a JSON Pointer as described
> in RFC6901, and will then be used to dereference the nested data
> structures to get to the requested data type.
>
>
> And at the end of section 2.1.
>
>
> When the name parameter to the getdns_dict_set_ functions, starts with
> a '/' (%x2F) character, it is interpreted as a JSON Pointer as described
> in RFC6901, and will then be used to dereference the nested data
> structures to get to the requested data type.
Sorry, I copy pasted but forgot to alter. So I propose this paragraph
the the spot:
When the name parameter to the getdns_dict_set_ functions, starts with
a '/' (%x2F) character, it is interpreted as a JSON Pointer as described
in RFC6901, and will then be used to dereference the nested data
structures to set the given value at the specified name or list index.
>
>
> Comments or better wordings are welcome.
>
> I think the examples in the spec could also benefit from using JSON
> Pointer syntax. They are likely to become much shorter and therefor
> more readable and easier to digest. Take for example this alternative
> for the example in section 6.4 (I started with the shortest):
>
> https://github.com/getdnsapi/getdns/blob/features/json-pointers/spec/example/synchronous-json-pointer.c
>
> What do you think?
>
> -- Willem
> _______________________________________________
> spec mailing list
> spec at getdnsapi.net
>
More information about the spec
mailing list