[ https://issues.apache.org/jira/browse/CASSANDRA-9190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14542237#comment-14542237 ]
Jonathan Ellis commented on CASSANDRA-9190: ------------------------------------------- I think we're okay, since we expect people to be using JSON primarily to round-trip through our own code and secondarily with other JSON libraries. We don't need to worry too much about helping people debug bad JSON I think. Even if it is bad JSON of the kind we generated pre-beta. :) +1 from me. > Map keys aren't properly serialized as strings in SELECT JSON queries > --------------------------------------------------------------------- > > Key: CASSANDRA-9190 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9190 > Project: Cassandra > Issue Type: Bug > Components: API > Reporter: Gianluca Righetto > Assignee: Tyler Hobbs > Fix For: 2.2 beta 1 > > Attachments: 9190-trunk.txt > > > When I run a SELECT JSON query on a table that contains a column of type map, > the JSON output doesn’t wrap the map keys with quotes, thus creating a > non-standard JSON representation, which doesn’t play along with JSON parsers > very well. > Here’s an example where the map keys are actually a set: > {code} > create table table1 (id int primary key, mymap map<frozen<set<int>>,int>); > insert into table1 (id,mymap) values (1, {{1,2,3,4}:1}); > select json id,mymap from table1; > {code} > The output is: > {noformat} > {"id": 1, "mymap": {[1, 2, 3, 4]: 1}} > {noformat} > But what I expected was that the map key, in this case the entire integer > set, would be wrapped with quotes. > The same thing happens when the key is a primitive, such as int, or when it’s > another type of collection. > I tried this with the latest version of the Cassandra codebase from the > repository’s trunk (1f65a12c33). -- This message was sent by Atlassian JIRA (v6.3.4#6332)