Javascript 是否将自定义对象的映射转换为json对象?
在java中,我有一个如下所示的hashmapJavascript 是否将自定义对象的映射转换为json对象?,javascript,java,json,dictionary,Javascript,Java,Json,Dictionary,在java中,我有一个如下所示的hashmap Map<String, List<Employee>> = new HashMap<String, List<Employee>>(); 然后在请求属性中添加jsonObject request.setAttribute("empMap", jsonObject.toString() ); 但是当我在javascript中检索它时,我得到了jsonObject的值 {emp_10:[com.
Map<String, List<Employee>> = new HashMap<String, List<Employee>>();
然后在请求属性中添加jsonObject
request.setAttribute("empMap", jsonObject.toString() );
但是当我在javascript中检索它时,我得到了jsonObject的值
{emp_10:[com.val.Emp@4b7b4bc5]}
正如您在上面看到的,我得到了值com.val。Emp@4b7b4bc5
不是它的属性为什么
还有更好的方法可以将自定义对象的hashmap即Map
转换为json对象,而无需使用
jsonObject代替HashMap,JsonArray代替list
在我的项目中,我已经在使用下面的库,如果需要,我可以使用任何新的库
Jettison Library (org.codehaus.jettison.json.JSONObject)
json-lib(net.sf.json.JSONObject)
apache json library (com.amazonaws.util.json.JSONObject)
我认为您需要在java端有一个附加的helper函数
public JSONObject asJSON(Employee employee) {
ObjectMapper mapper = new ObjectMapper();
return new JSONObject(mapper.writeValueAsString(employee));
}
并添加更新后的值asJSON(empObject)
另外,删除.toString()
实现toString(),因为似乎正在调用默认的toString并返回对象引用。您需要覆盖toStringMethod@user3198603-你查过我的答案了吗?这对你有用吗?
public JSONObject asJSON(Employee employee) {
ObjectMapper mapper = new ObjectMapper();
return new JSONObject(mapper.writeValueAsString(employee));
}
empList.add(empObject)
request.setAttribute("empMap", jsonObject.toString());