0

我正在使用服务器端的java和客户端的javascript进行Web开发......我使用返回json的post方法访问一个java函数......在返回时我通过json数组获取所有值但日期字段返回为[对象对象] ...如何将该对象转换为日期?

List<LocateOffice> officeList = commonService.searchoffice(office, company, ocity, state, area);
            request.setAttribute("officeList",officeList);

if(officeList!=null)
            {
                JSONArray jsonArray = JSONArray.fromObject(officeList);
                response.getWriter().print(jsonArray.toString());
            }

之后,当我使用 for 循环访问 officelist json 时,在 javascript 中

alert(officelist[i].createdDate);

此警报返回 [Object object]

更新:我的问题不是关于 alert() 只是为了你理解的目的,我输入了这样的代码,无论我在哪里使用该 json,日期都会返回一个对象......如何将该对象转换为 javascript 日期或字符串......

4

1 回答 1

0

我认为您的问题在于不兼容的字段类型List<LocateOffice>

JSONArray.fromObject(Object object)方法会将您的“对象”转换为JSONArray对象。该方法的工作方式是检查要转换的对象的类型。JSONArray对象只接受Boolean, JSONArray, JSONObject, Number, String, 或 . 类型的值JSONNull object

JSONObject只接受相同的类型,所以我认为您需要手动检查您的列表并将任何不兼容的对象转换为兼容的对象(例如将您的Date转换为 aString然后将其放入JSONArray)。

希望有帮助。

于 2013-04-16T12:07:16.937 回答