java如何创建Json文件?

Python013

java如何创建Json文件?,第1张

如果聊天数据的结构是固定的或变化不大的。

就直接“编排”json字符串。

为要输出的对象增加一个String toJSON()方法

StringBuilder b=new StringBuilder()

b.append("{ name:\"")

b.append(username)

b.append("\"}")

依次类推

return b.toString()

适合绝大多数情况。

补充:json是做交换格式,查询效率非常低,如果做存储的检索格式就误用了。

就是说“聊天信息的保存用json应该可以吧”还不如你之前的mysql数据库。

json用在客户端往服务端发送的通讯交换数据的格式上。服务端收到后转为数据库中或内存中存放。

有两种方法实现:

(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()

}

}

(2)通过GSON工具实现:

只需要创建GSON对象,通过toJson方法转换即可。如例:

//模拟Java数据

Person person = new Person("敏敏", 23, "女", "北京市海淀区")

//创建GSON对象

Gson gson = new Gson()

//调用toJson方法即可转换为字符串的json格式

String json = gson.toJson(person)

假设你后台中查出一个结果集List,你就可以通过如下方法实现:

JSONObject json = new JSONObject()

json.accumulate("list", list)

response.setCharacterEncoding("UTF-8")

response.setHeader("Cache-Control", "no-cache")

response.setContentType("text/htmlcharset=UTF-8")

response.getWriter().print(json)

response.getWriter().close()

这样生成的json对象就可以传到页面上了,在页面中你可以通过如下方式取值:

$.ajax(

url:"",

type:"post",

data:{"param1":param1},

success:function(data){

//此处就是你取值的方法

var list = data.list

}

)