json使用示例

(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 + "
Status: " + status);
          }    else {
              document.getElementById("msg").innerHTML = "此用户ID可以注册!" ;
              //alert("Data: " + data + "
Status: " + status);
          }
       }
     })
})
注意点:接收后台传递的json参数时,var obj = eval("("+data+")"); 必须要eval加括号。只写eval(data)还不行。
原文地址:https://www.cnblogs.com/mabiao008/p/6168591.html