curl javaSSm框架中傳入json數組的格式方法


 

curl與java結合傳入get.post,head請求,

比如: curl的地址:

      curl -l 127.0.0.1:8080/spacobj/core/do?acid=100 -H "token:101hh" -H "Content-type: application/json" -X POST -d {"telNum":"13521389587","pass":"'my12345'","nick":"'明天會更好'","sms":"'7864AQ'"}

 注意 json格式中的字符串必須是"' 里面是字符串'"

java中獲取的代碼如下:

@RequestMapping(value = "do", method = RequestMethod.POST)
public String mydo(
@RequestParam(value = "acid", required = false, defaultValue = "0") int acid,
@RequestHeader(value = "token", required = false, defaultValue = "0") String token,
HttpServletRequest request, HttpServletResponse response)
throws UnsupportedEncodingException, IOException, ParseException {

  //下面創建一個對象,用對象來接受json傳過來的數據

T_Account tac = new T_Account();
StringBuilder sb = new StringBuilder();
BufferedReader in = new BufferedReader(new InputStreamReader(
request.getInputStream(), "UTF-8"));
String line = null;
while ((line = in.readLine()) != null) {
sb.append(line);

String json = sb.toString();
JSONObject jsonObject = JSONObject.fromObject(json);

Iterator ite = jsonObject.keys();

// 遍歷jsonObject數據,用對象來接收。通過key的判斷,是那個對象的字段來接受post中json請求過來的

while (ite.hasNext()) {
String key = ite.next().toString();

if (key.equals("telNum")) {
tac.setTelNum(jsonObject.get(key).toString());
}
if (key.equals("pass")) {
tac.setPass(jsonObject.get(key).toString());
}
if (key.equals("nick")) {
tac.setNick(jsonObject.get(key).toString());
}
if (key.equals("sms")) {
tac.setSms(jsonObject.get(key).toString());
}

String value = jsonObject.get(key).toString();

}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM