{
indexes:[
{
"name": "ABC",
"value": "abcdef"
"displayValue": "abcdef",
"type": "string"
},
{
"name": "XYZ",
"value": 12345
"displayValue": "12345",
"type": "number"
},
...
]
}
public class Index {
String name;
Object value;
String displayValue;
String type;
}
{
indexes:[
{
"name": "ABC",
"value": {
"type": "xsd:string",
"value": "abcdef"
},
"displayValue": "abcdef",
"indexType": "string"
},
{
"name": "XYZ",
"value": {
"type": "xsd:int",
"value": 812501
},
"displayValue": "812501",
"indexType": "number"
},
...
有没有任何方法来实现我所需要的,“值”字段的变量类型值?
我不知道你的问题到底出在哪里。您使用的是什么JSON库?另外,您能提供更多关于您的索引类的细节吗?我不确定为什么您的setValue(对象值)需要做任何特殊的事情。如果我使用带有以下代码的Jackson json库:
public static void main(String[] args) throws JsonProcessingException {
Index[] indices = new Index[2];
indices[0] = new Index();
indices[0].name = "ABC";
indices[0].value = "abcdef";
indices[0].displayValue = indices[0].value + "";
indices[0].type = "string";
indices[1] = new Index();
indices[1].name = "XYZ";
indices[1].value = 123456;
indices[1].displayValue = indices[1].value + "";
indices[1].type = "number";
System.out.println(new ObjectMapper().writeValueAsString(indices));
}
public static class Index {
String name;
Object value;
String displayValue;
String type;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
public String getDisplayValue() {
return displayValue;
}
public void setDisplayValue(String displayValue) {
this.displayValue = displayValue;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
我得到以下输出:
[{"name":"ABC","value":"abcdef","displayValue":"abcdef","type":"string"},
{"name":"XYZ","value":123456,"displayValue":"123456","type":"number"}]
我相信这就是你要找的。
我正在使用Jersey Web services(2.23),并将POJO映射用于JSON到对象的映射(Jersey-media-moxy)。我创建了一个类,如下所示: 我希望该对象的实例具有以下结构:
问题内容: 我在Moxy上使用Jersey 2.17,并且具有以下功能: User.preferences是一个。 除了将a 转换为: “ preferences”:{“ entry”:[{“ key”:{“ type”:“ string”,“ value”:“ language”},“ value”:{“ type”:“ string”,“ value”: “ en”}},{“ key”:{“
我正在使用泽西2.17和Moxy,我有如下功能: user.preferences是。 “首选项”:{“entry”:[{“key”:{“type”:“string”,“value”:“language”},“value”:{“type”:“string”,“value”:“en”}},{“key”:{“type”:“string”,“value”:“country”},“value”:“coun
我已经在这个问题上纠缠了好几天,现在正在寻找一些指导来帮助解决这个问题。我在Metro下使用jax ws有着丰富的经验,但这是我第一次使用Jersey进入jax rs。为了简化运动部件,我以moxy代码为起点。 我修改了示例项目以接受XML和JSON。我以为这很简单,但我似乎错过了一些东西,因为这是一次痛苦的经历。当我请求“application/xml”时,代码运行没有问题,GET将用于“app
我在我的Jersey(2.7)项目中使用Moxy,基本上只是为了在服务发出响应时将我的对象整理为JSON。它工作得很好,但现在我也在使用ContainerResponseFilter对发出的每个响应进行一些更改,我不确定如何将请求体的内容解组到一个对象中,这是我需要的。 但我不确定是否有可能将它自动转换为一个对象。我需要的信息比较简单,所以我想我可以用另一种方式解析JSON,但我很好奇。 我试过找
我有2种类型的类型类,其中一种类型包含另一种类型 我想这样称呼我的类型类: 但这行不通。 错误:(34,23)找不到参数e的隐式值:com.playground.Valides[com.playground.MyModel1,model.version.type]val v=隐式[Valides[MyModel1,model.version.type]]错误:(34,23)没有足够的隐式方法参数: