Json總結

来源:互联网 发布:淘宝运营推广视频教程 编辑:程序博客网 时间:2024/06/05 08:24

1.Json—>Java
 1.1:JavaScript代碼:
  var user = {
   "name": "wujianjun",
   "age": "19",
   "addr": ['重庆','上泫'],
   "live": [{
     "city": "家",
     "jie": "小学"
    },{
     "city": "学校",
     "jie": "高中"
    }]
  };
  var temp = user.toJSONString();
 1.2:Ajax請求
 1.3:Java類:
  response.setContentType("text/html;charset=UTF-8");
  PrintWriter out = response.getWriter();
  request.setCharacterEncoding("UTF-8");
  StringBuffer content = new StringBuffer();
  BufferedReader fr = request.getReader();
  String temp = null;
  while((temp = fr.readLine()) != null)
   content.append(temp);
  
  System.out.println(content);
  JSONObject jsonObj = JSONObject.fromObject(content.toString());
  //得到前台传来的数组
  JSONArray arr = jsonObj.getJSONArray("addr");
  String YouAddr = "";
  Iterator<Object> ite = arr.iterator();
  while(ite.hasNext()) {
   YouAddr += ite.next() + "/n/t";
  }
  //得到前台传来的实体数组
  StringBuffer jie = new StringBuffer();
  JSONArray jieArr = jsonObj.getJSONArray("live");
  ite = jieArr.iterator();
  JSONObject subObj = null;
  while(ite.hasNext()) {
   subObj = (JSONObject) ite.next();
   String address = subObj.getString("city");
   String jietext = subObj.getString("jie");
   jie.append(address + "   " + jietext + "/n/t");
  }
  
  out.println("您的名称:" + jsonObj.get("name") + "/n您的年龄: " + jsonObj.get("age")+
    "/n您的地址:" + YouAddr + "/n-------------------" + "/n你的经历:/n/t" + jie);
  
  out.flush();
  out.close();

 

 

 

2.Java—>Json
 2.1:Ajax請求
 2.2:Java類:
  response.setContentType("text/html;charset=UTF-8");
  PrintWriter out = response.getWriter();
  String json = "{'name': 'wujianjun','addr': ['重庆','上海'],'live': [{'city': '家','jie': '小学'},{'city': '学校','jie': '高中'}]}" ;
  out.println(json);
  out.flush();
  out.close();
 2.3:Javascript囘調函數:
  var result =httpRequest.responseText;
  try{
   var obj = window.eval('(' + result + ')'); 
   alert(obj.addr);
   alert(obj.live.length);
  }catch(e){
   alert("ERROR:" + e);
  }

 

 

 

3.Java中如何把值放入Json對象:
 String json = "{'name':'reiz'}";
  /***
   * 转变成一个JSON对象
   */
  JSONObject jsonObj = JSONObject.fromObject(json);
  
  /***
   * 得到json对象中的值,通过key得到值
   */
  String name = jsonObj.getString("name");
  
  /**
   * 放入一个普通值到json对象中
   */
  jsonObj.put("initial", name.substring(0, 1).toUpperCase());

  /***
   * 把一个数组作为一个key的值放入json对象中
   */
  String[] likes = new String[] { "JavaScript", "Skiing", "Apple Pie" };
  jsonObj.put("likes", likes);

  /***
   * 把一个Map对象作为一个key的值放入json对象中
   */
  Map<String, String> ingredients = new HashMap<String, String>();
  ingredients.put("apples", "3kg");
  ingredients.put("sugar", "1kg");
  ingredients.put("pastry", "2.4kg");
  ingredients.put("bestEaten", "outdoors");
  jsonObj.put("ingredients", ingredients);

  /**
   * 输出
   */
  System.out.println(jsonObj);
  System.out.println(jsonObj.getJSONArray("likes"));
  System.out.println(jsonObj.getJSONObject("ingredients"));

原创粉丝点击