(1)Gson
Map map = new HashMap();
map.put("id", "1");
List list = new ArrayList();
list.add("许海涛");
list.add("陈凌霄");
map.put("name", list);
String json = new Gson().toJson(map);
System.out.println(json);
--> {"id":"1","name":["许海涛","陈凌霄"]}
(2)
JSONObject rootObj = new JSONObject();
JSONArray array = new JSONArray();
JSONObject temp = new JSONObject();
try {
temp.put("id", "1");
temp.put("title", "title");
array.put(temp);
rootObj.put("allplus", array);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(rootObj);
--> {"allplus":[{"id":"1","title":"title"}]}
如果是json对象中放json数组还是用第2种方法好
String s = "{'allplus':[{'id':'1','title':'title'}]}";
JSONObject rootObj = new JSONObject(s);
JSONArray array = rootObj.getJSONArray("allplus");
for (int i = 0; i < array.length(); i++) {
JSONObject temp = array.getJSONObject(i);
System.out.println(temp.get("id") + "-->" + temp.get("title"));
}
(1)public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
String userid = request.getParameter("userid");
int i = userDaoImpl.getCount(userid);
if (i == 1) {
String json = "{'flag' : 'true'}";
out.print(json);
} else {
out.print("false");
}
}
注意:String json = "{'flag' : 'true'}";
out.print(json);
可以先写好map,然后用Gson转换为json格式,如下:
Map map = new HashMap();
map.put("flag", "true");
String json = new Gson().toJson(map);
out.print(json);
(2)$("#uname").blur(function(){
var id = $("#uname").val();
$.ajax({
type: "POST",
url: "CheckServlet",
data: "userid=" + id,
success: function(data){
alert(data);
var obj = eval("("+data+")");
alert(obj.flag);
if (obj.flag == "true") {
document.getElementById("msg").innerHTML = "用户ID重复,无法使用!" ;
//alert("Data: " + data + "\nStatus: " + status);
} else {
document.getElementById("msg").innerHTML = "此用户ID可以注册!" ;
//alert("Data: " + data + "\nStatus: " + status);
}
}
})
})
注意点:接收后台传递的json参数时,var obj = eval("("+data+")"); 必须要eval加括号。只写eval(data)还不行。