[ https://issues.apache.org/jira/browse/SOLR-2627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13056892#comment-13056892 ]
Mark Miller commented on SOLR-2627: ----------------------------------- Heh - now I have to read this spec. A 'SHOULD' rule leading to a 'not properly formatted json' sounds a little fishy ;) > Solr's JSON request format isn't valid JSON > ------------------------------------------- > > Key: SOLR-2627 > URL: https://issues.apache.org/jira/browse/SOLR-2627 > Project: Solr > Issue Type: Bug > Components: update > Affects Versions: 3.2 > Reporter: Brian Pontarelli > Priority: Critical > Labels: json > > I've been working with Solr's JSON request and response to get it up and > running in my application and it looks like the JSON request format is not > properly formatted JSON. Here's an example of a request with multiple > documents (from the Wiki): > {code:javascript} > { > "add": {"doc": {"id" : "TestDoc1", "title" : "test1"} }, > "add": {"doc": {"id" : "TestDoc2", "title" : "another test"} } > } > {code} > Unfortunately, this is not valid JSON because according to RFC-4627 section > 2.2, "The names within an object SHOULD be unique." This means that defining > the name "add" twice is not allowed. Instead, the JSON should use an array > for multiple documents like this: > {code:javascript} > { > "add": [{"doc": {"id" : "TestDoc1", "title" : "test1"}}, > {"doc": {"id" : "TestDoc2", "title" : "another test"}}] > } > {code} > An alternate form that simplifies this entire thing is to remove the "doc" > identifier as it doesn't appear to provide useful information. That form > would be: > {code:javascript} > { > "add": [{"id" : "TestDoc1", "title" : "test1"}, > {"id" : "TestDoc2", "title" : "another test"}] > } > {code} > It looks like Noggit uses a stream based Parser that doesn't put these values > into a Map or JavaBean, otherwise this would have revealed itself much > sooner. I run into the issue when attempting to create a Map that I could > pass to a JSON binder such as Jackson or Google-GSON. Given the current > format, none of those tools will work with Solr. > It also looks like Noggit is not really moving out of labs. It would be nice > to use a more well known and active project for the JSON handling as it is > quickly becoming the de-facto standard. I can open a ticket for that > separately if needed and help out with the code. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org