: incorrect. The source of the problem is in-fact submitting a document with : a blank field value. The JSON returned by a query containing the : problematic value, is when doing a facet search. Details below: ... : "facet_fields": { : "year": { : "": 1 : } : }, ... : As you can see above the facet count for the '*year*' field contains a : blank JSON field name. This errors when parsing with *PHP's json_decode* : (...). : : *Fatal error*: Cannot access empty property in ............
Not sure what to tell you about that ... it's definitely valid JSON, if PHP's json_decode method doesn't like it, that seems like soemthing you may want to ask other PHP users about? But, FWIW: I think you're still wrong about the route cause of your problem... my version of PHP's json_decode doesn't seem to have any problem with that JSON, and doesn't produce that error. although: it does some funky things with the key "" when it builds up PHP "objects" (but according to the docs, you can override this using the "assoc" option to json_decode) so maybe you're making an assumption about what the key name is and that's not true with the object PHP generates for you? php > $data = '{ "facet_fields": {"categories": { "": 42, "has space": 36} } }'; php > var_dump(json_decode($data)); object(stdClass)#1 (1) { ["facet_fields"]=> object(stdClass)#2 (1) { ["categories"]=> object(stdClass)#3 (2) { ["_empty_"]=> int(42) ["has space"]=> int(36) } } } php > var_dump(json_decode($data, true)); array(1) { ["facet_fields"]=> array(1) { ["categories"]=> array(2) { [""]=> int(42) ["has space"]=> int(36) } } } -Hoss http://www.lucidworks.com/