java介面接收json數據
Ⅰ 多層JSON數據,java後台如何接收
使用標準的Json對象,如org.json.JSONObject json = new org.json.JSONObject(yourJsonString);然後通過get(keyString)逐個解析
2. 構造一個類MyObject,根據你提出的問題,其中添加 String name,List<MyObject> child, 兩個屬性,增加getter setter 方法,通過com.google.gson.Gson進行解析。步驟如下:
String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}";
Gson gson = new Gson();
MyObject obj = gson.fromJson(jsonStr,MyObject.class);案例
package com;
import java.util.List;
import com.google.gson.Gson;
public class MyObject {
String name;
List<MyObject> child;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<MyObject> getChild() {
return child;
}
public void setChild(List<MyObject> child) {
this.child = child;
}
public static void main(String[] args) {
String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}";
Gson gson = new Gson();
MyObject obj = gson.fromJson(jsonStr,MyObject.class);
System.out.println(obj.getChild().get(0).getName()); // --222
System.out.println(obj.getChild().get(1).getName()); // --222
System.out.println(obj.getChild().get(0).getChild().get(0).getName()); // --333
}
}
Ⅱ web環境下,servlet如何設計java介面接收json,並將處理結果按json格式返回
JSONObjectjsonObject=newJSONObject();
Mapmap=request.getParameterMap();
Iterator<?>it=map.keySet().iterator();
while(it.hasNext()){
Stringkey=(String)it.next();
String[]values=(String[])map.get(key);
jsonObject.accumulate(key,values[0]);
}
json說白了就是個字元串。
原來用servlet怎麼接受字元串參數,就怎麼接受json。
只不過這個json串一定要解析才能拿到想要的數據。
處理完後再生成一個備叢json串用writer也好,跳轉頁面也好,總之把json輸出就算返回了。
處理json你可以不必自己寫代碼,從網上找個json的工具包就可以.
Ⅲ 如何用java獲取百度API返回的json數據的
1:是拼接需要的json數據。
2:是用servlet的內置對象response返回到前台。
3:String 類型的數據可以不用藉助任何工具直接返回,只要把它拼接對了就可以。如我需李談要返回一個{「success」:true,「msg」:「修改失敗!」}的json(注意,java里的引號要用的轉義字元「\」)。
4:如果需要返回的是一個list或者別的類的化,需要用到JSONArray的輔助工具類,然後使用response.getWriter().print(),返回到打到前台。方法2:用Spring框架。
5:如果你使用了Spring框架那就更簡單了,你只需要在你的方法返回的時候加一個@ResponseBody的註解就可以了。就這么宴鎮簡單。注意第一種方法,拼接json串的時候需要用晌擾粗的到雙引號的地方添加轉義字元。
Ⅳ java怎麼接收介面請求的json數據
public void test(Long clusterId,boolean monitorSendAllFlag) {
boolean result=false;
try {
String url ="http://www.xxx.com/xxx/xxx.action";
String json= HttpConfigUtil.getHttpResponse(url);
System.out.println(json);
} catch (Exception e) {
e.printStackTrace();
}
}
public static String getHttpResponse(String allConfigUrl) {
BufferedReader in = null;
StringBuffer result = null;
try {
URI uri = new URI(allConfigUrl);
URL url = uri.toURL();
URLConnection connection = url.openConnection();
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Charset", "utf-8");
connection.connect();
result = new StringBuffer();
//讀取URL的響應
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result.append(line);
}
return result.toString();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return null;
}
Ⅳ java怎麼接收android請求過來的json數據
java接收android請求json數據的方法:
如果發送的沒有參數名稱你可以直接得到請求體,如
InputStreaminputStream=urlConnection.getInputStream();
Stringencoding=urlConnection.getContentEncoding();
Stringbody=IOUtils.toString(inputStream,encoding);
System.out.println(body);如果body就是那個json內容使用fastjson進行解析就可以了
JSONObjectmap=JSON.parseObject(body);
System.out.println(map.getString("mobileNo"));//還是System.out.println(map.get("mobileNo"));?具體看一下介面文檔或者
Mapmap=JSON.parseObject(body,Map.class);
System.out.println(map.get("mobileNo"));
Ⅵ java對接第三方介面json數據異常如何檢驗
1、檢查JSON數據格式是否正確。可以使用在線JSON格式驗證工具或者JSON編輯器等工具對返回的JSON數據進行檢驗,確保JSON數據的格式符合標准格式要求。
2、檢查JSON數據中的鍵值對是否匹配。在解析JSON數據時,需要確保JSON數據中的鍵值對與程序中定義的鍵值對匹橡世配,例如,如果程序定義了一個名為「name」的鍵,但是返回的JSON數據中沒有這個鍵,就會導致解析JSON數據時出現異常。
3、檢查JSON數據類型是否匹配。在解析JSON數據時,需要確保JSON數據中的各個鍵對應的值的類型與程序中定義的類型匹配。例如,如果程序定義了一個名為「age」的鍵,並且類型為整數類型,但是返回的JSON數據中「age」對應的值是一個字元串類型,就會導致解析JSON數據時出現異常。
4、檢查程序中的JSON解析代碼梁賣肢是否正確。在解析JSON數據時,需要確保程序中的JSON解析代碼正確無誤,例如,使用了正確的JSON解析庫和正確的解析方法。
5、檢查網路連接是否正常。如果在解析JSON數據時出現異常,有可能是網路連接出現了問題,需要檢查網路連接是否配巧正常。
Ⅶ JAVA如何接收一組json數據
狀態碼,
後台,在你請求的那個requestmapping方法上加個非同步響應responsebody註解,將你需要的備氏森東西按照key封核神裝成類,方法的返回值為那個類的對象,
前端接收用ajax,直接得到字元串的值,用jquary.
$.ajax({type:"POST",data:提仿畝交的數據,url:提交路徑,dataType:"json",success:function(obj){
用obj點你要的屬性就可以得到了
}})
我居然用手機給你一步步敲出來,醉了
Ⅷ java怎麼接收json數據 博客園
import net.sf.json.JSONObject;
public class TestJson {
static String json_str="{\"total\":920,\"data\":[{\"ID\":\"634\",\"Name\":\"於東\"昌州},{\"ID\":\"822\",\"Name\":\"於禕\友態"},{\"ID\":\"782\",\"Name\":\"於燕\"},{\"ID\":\"636\",\"Name\":\"於玲\"},{\"ID\":\"841\",\"Name\":\"於浩\"},{\"ID\":\"383\",\耐告蔽"Name\":\"於娟\"}]}";
public static void main(String[] args) {
// TODO Auto-generated method stub
JSONObject jsonObject=JSONObject.fromObject(json_str);
System.out.println(jsonObject.get("total"));
}
}
Ⅸ java如何接收ajax傳遞的json類型的數據
主要是賦值給Map就行。
json數據格式為:嘩歷
{name:'張三',age:20}這樣的亂鋒搜不是數組時,
在java中new一個Map對象獲取,如
Map<String,String> map = (Map<String,String>)request.getParament("json");
然後獲取name為:map.get("name");
如果json數據為數組:基型
[{name:'張三',age:17},{name:'李四',age:20}]
在java中new一個
List<Map<String,String> maplist = (List<Map<String,String>)request.getParament("json");
Ⅹ java後台怎樣獲取前台的json數據
一般是這樣的,先將對象類型(在js中json就是一個對象),使用json.js(有些瀏覽器支持,有些需要引入)的方法:
JSON.parse(jsonstr); //可以將json字元串轉換成json對象
JSON.stringify(jsonobj); //可以將json對象轉換成json對符串
的第二個轉換成字元串,然後把字元串當作一個參數的值再為其添加一個key然後以key/value的格式將數據傳到後台。
之後後台使用request.getParameter();的方式得到json數據。