Re: 9.3 Json & Array's
От | Andrew Dunstan |
---|---|
Тема | Re: 9.3 Json & Array's |
Дата | |
Msg-id | 524189B3.4060601@dunslane.net обсуждение исходный текст |
Ответ на | Re: 9.3 Json & Array's (Chris Travers <chris@2ndquadrant.com>) |
Ответы |
Re: 9.3 Json & Array's
|
Список | pgsql-hackers |
On 09/24/2013 12:59 AM, Chris Travers wrote: > > I am still in the process of wrapping my head around the current JSON > logic. I hope to produce a proof of concept that can later be turned > into a patch. See my previous post on this topic. Again > collaboration is welcome. > > Feel free to ask questions. The heart of the API is the event handlers defined in this stuct in include/utils/jsonapi.h: typedef struct JsonSemAction { void *semstate; json_struct_action object_start; json_struct_actionobject_end; json_struct_action array_start; json_struct_action array_end; json_ofield_actionobject_field_start; json_ofield_action object_field_end; json_aelem_action array_element_start; json_aelem_action array_element_end; json_scalar_action scalar; } JsonSemAction; Basically there is a handler for the start and end of each non-scalar structural element in JSON, plus a handler for scalars. There are several problems that will be posed by processing nested arrays and objects, including: * in effect you would need to construct a stack of state that could be pushed and popped * JSON arrays aren't a very goodmatch for SQL arrays - they are unidimensional and heterogenous. I'm not saying this can't be done - it will just take a bit of effort. cheers andrew
В списке pgsql-hackers по дате отправления: