从jersey RESTFUL Service </string,string>返回json序列化MAP <string,string>

时间:2012-05-10 08:21:07

标签: json serialization annotations jaxb jersey

我想返回一个看起来像这样的json答案:

{ "key": "value",
  "Key2": "value2",
  "params": {"paramKey1":"ParamValue1",
             "paramKey2":"ParamValue2",
             "paramKeyN":"ParamValueN"
            }
}

其中params的键和值来自MAP<String,String> 即 - 要序列化的类应支持未知数量的参数&amp;各自的价值观。

我在课堂上尝试过:

@XmlRootElement
public class myclass {

private int key;
private int key2;

private Map<String,String> _params;

@XmlElement
public int getKey() {
    return key;
}

@XmlElement
public int getKey2() {
    return key2;
}


@XmlElement
public HashMap<String,String> getParams() {
    return (HashMap<String,String>)_params;
}

}

但它不会渲染params地图,只有:

{ "key": "value",
  "Key2": "value2",
  "params": null
} 

我认为我需要用其他东西注释getParams,但我不确定是什么......

1 个答案:

答案 0 :(得分:0)

尝试将_params的变量名称更改为params。这会失败JAXB命名约定,因为我记得并可能导致错误。

相关问题