(1)直接转换:
创建JSONArray对象、JSONObject对象,通过put方法将其数据以键值对的形式填充,如例:
//假如有一个Java实体类Person,包括以下属性:phone、sex、married、address。
ArrayList<Person>persons = new ArrayList<Person>()
for (int i = 0i <3i++) {
persons.add(new Person("138******67", "女", true, "北京朝阳区"))//填充Java实体类集合
}
JSONArray array = new JSONArray()// Json格式的数组形式
JSONObject obj//json格式的单个对象形式
for (int i = 0i <persons.size()i++) {
obj = new JSONObject()
//依次填充每一个Java实体对象
try {
obj.put("phone", persons.get(i).getPhone())//json通过put方式以key-value形式填充
obj.put("sex", persons.get(i).getSex())
obj.put("married", persons.get(i).getMarried())
obj.put("address", persons.get(i).getAddress())
array.put(obj)//将JSONObject添加入JSONArray
} catch (JSONException e) {
e.printStackTrace()
导入Google的包gson-2.2.4.jar然后实例化Gson
static Gson gosn = new Gson()
String json = gosn.toJson(hashMap) //这里放一个对象,什么对象都可以。
转化后就是Json,功能强大很多,也简单很多。
json-lib-2.4-jdk15.jar
ezmorph-1.0.6.jar
转换的话这样用
String s= JSONArray.fromObject(user).toString()
spring-webmvc4
在方法上加入@ResponseBody,同时方法返回值为实体对象,spring会自动将对象转换为json格式,并返回到客户端