Jackson jsonGenerator 生成 Elasticsearch 查询 DSL
Jackson jsonGenerator generate Elasticsearch query DSL
我是 Elasticserach 和 Jackson 的新手 Json。有一个简单的查询(按国家/地区搜索索引)我尝试使用 JsonGenerator,
"{\n" +
" \"query\" : {\n" +
" \"match\": { \"exporting_country\":\"" + countryCode + "\"} \n" +
"} \n"+
"}"
Json生成器代码,
JsonGenerator jGenerator = jfactory.createGenerator(outputStream);
jGenerator.writeStartObject();
jGenerator.writeFieldName("query");
jGenerator.writeStartObject();
jGenerator.writeFieldName("match");
jGenerator.writeStringField("exporting_country", countryCode);
jGenerator.writeEndObject();
jGenerator.writeEndObject();
jGenerator.close();
它抛出一个错误:
Can not write a field name, expecting a value
您未接来电 writeStartObject
:
JsonGenerator jGenerator = jfactory.createGenerator(outputStream);
jGenerator.writeStartObject();
jGenerator.writeFieldName("query");
jGenerator.writeStartObject();
jGenerator.writeFieldName("match");
jGenerator.writeStartObject(); <--- add this
jGenerator.writeStringField("exporting_country", countryCode);
jGenerator.writeEndObject(); <--- and this
jGenerator.writeEndObject();
jGenerator.writeEndObject();
jGenerator.close();
我是 Elasticserach 和 Jackson 的新手 Json。有一个简单的查询(按国家/地区搜索索引)我尝试使用 JsonGenerator,
"{\n" +
" \"query\" : {\n" +
" \"match\": { \"exporting_country\":\"" + countryCode + "\"} \n" +
"} \n"+
"}"
Json生成器代码,
JsonGenerator jGenerator = jfactory.createGenerator(outputStream);
jGenerator.writeStartObject();
jGenerator.writeFieldName("query");
jGenerator.writeStartObject();
jGenerator.writeFieldName("match");
jGenerator.writeStringField("exporting_country", countryCode);
jGenerator.writeEndObject();
jGenerator.writeEndObject();
jGenerator.close();
它抛出一个错误:
Can not write a field name, expecting a value
您未接来电 writeStartObject
:
JsonGenerator jGenerator = jfactory.createGenerator(outputStream);
jGenerator.writeStartObject();
jGenerator.writeFieldName("query");
jGenerator.writeStartObject();
jGenerator.writeFieldName("match");
jGenerator.writeStartObject(); <--- add this
jGenerator.writeStringField("exporting_country", countryCode);
jGenerator.writeEndObject(); <--- and this
jGenerator.writeEndObject();
jGenerator.writeEndObject();
jGenerator.close();