Java 将Mongo更新JSON字符串解析为DBObject
我试图在运行时构造Java 将Mongo更新JSON字符串解析为DBObject,java,json,mongodb,mongo-java-driver,Java,Json,Mongodb,Mongo Java Driver,我试图在运行时构造Mongo查询,以便将JSON字符串解析为DBObject 我尝试了以下方法: String then = "{$set : {"JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "Waltham", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "MA", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.
Mongo查询
,以便将JSON字符串
解析为DBObject
我尝试了以下方法:
String then = "{$set : {"JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "Waltham", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "MA", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "Middlesex", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "USA", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "02451", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "42.398708", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "-71.259216", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "71650: Metropolitan NECTA |715: Combined NECTA", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "71654: NECTA Division", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "DV257165|MT257165", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "781"}}"
DBObject thenQuery = (DBObject) JSON.parse(then);
结果:
{ "$set" : { "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "781"}}
如果我出错了,有人能对我进行排序吗?还有人能建议解决方法吗?您在对象中多次使用相同的属性名,这就是您获得输出的原因
属性名称
在对象内部应该是唯一的
您不应在查询中多次使用“JobDoc.DataElementsRollup.ConsolidatedONET.#text.$”。谢谢@Shrabanee。