【发布时间】:2015-02-08 17:36:24
【问题描述】:
我正在使用 Jersey 和 MOXy 编写 REST 服务。 我需要创建一个 JSON 对象数组,如下所示:
{
indexes:[
{
"name": "ABC",
"value": "abcdef"
"displayValue": "abcdef",
"type": "string"
},
{
"name": "XYZ",
"value": 12345
"displayValue": "12345",
"type": "number"
},
...
]
}
字符串类型应该被引用,而“数字”类型应该不被引用。
我尝试在服务请求中返回以下 POJO:
public class Index {
String name;
Object value;
String displayValue;
String type;
}
我定义了 setValue 以根据“类型”将整数或字符串分配给值。 同样,我将 getValue 定义为返回 Integer 或 String。
这是我的输出,不出所料,它创建了另一个级别的花括号:
{
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"
},
...
有什么方法可以实现我需要的,“value”字段的变量类型值吗?
【问题讨论】: