在尝试对elasticSearch的API(使用Java)进行一些调用时,我遇到了一个问题。发送的大型JSON中的一个属性只是一个星号。
"fields":{
"*":{
"highlight_query":{
...} } }
我最初的工作方式是使用将映射到要发送的模型的模型类,但是很明显,星号会阻止这种工作方式-您不能将变量命名为*
我考虑的替代方法是将整个JSON粘贴到string.Format中并提供参数,但这会导致String.Format具有很多参数,这很丑陋。
还有另一种方法吗?
答案 0 :(得分:1)
如果您使用Jackson将模型类转换为json,则可以使用@JsonProperty
批注告诉它给字段指定什么名称。
public class MyModelClass {
public String foo;
@JsonProperty("*") // what you want the property to be named
public String bar;
}
这将给出格式为
的json{
"foo": "someValue",
"*": "someOtherValue"
}