接口返回数据是一条数据和一个数组的区别

 我来答
草原上之狼
高粉答主

2018-04-28 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:93%
帮助的人:4092万
展开全部
java中的接口是一种特殊的类,使用关键字interface创建。接口功能完全实现后,可以打成jar包,提供给其他公司使用。
要返回json格式数据,可以把接口中抽象方法的返回值类型规定为JSONObject或JSONString类型。这样当其他公司调用时,得到的数据就是json数据了。
另外,以jar形式提供的接口,可以通过反编译得到你的源码,如果你不希望开源,就要加密了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oneway85

2018-04-27 · TA获得超过2282个赞
知道大有可为答主
回答量:2964
采纳率:100%
帮助的人:170万
展开全部
api url stock/me
with token:WudYqKDKzijeMcrmYcP.qFiGgIavFs0u
response:{"desc":"","name":"1460630091572","balance":100000000,"sex":"","nickName":"1460630091572","logo":"http://115.28.189.219/player_icon/19.png","watched":0,"phone":""}

public static void getMe() {
try{
String getMe_URL = "http://115.28.189.219:9898/stock/me?access_token="+access_token;
//创建连接
URL url = new URL(getMe_URL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("GET");
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);

//connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Type","application/json; charset=UTF-8");

connection.connect();

//读取响应
BufferedReader reader = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String lines;
StringBuffer sb = new StringBuffer("");
while ((lines = reader.readLine()) != null) {
lines = new String(lines.getBytes(), "utf-8");
sb.append(lines);
}
System.out.println(sb);

////////解析返回数据

String retString = sb.toString();

JSONObject retObject = JSONObject.fromObject(retString);

System.out.println(retObject.getString("balance"));

reader.close();
// 断开连接
connection.disconnect();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

例2:
public static void myInvestment() {
try{
String myInvestment_URL = "http://115.28.189.219:9898/stock/products?access_token="+access_token;
//创建连接
URL url = new URL(myInvestment_URL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("GET");
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);

//connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Type","application/json; charset=UTF-8");

connection.connect();
System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");

//读取响应
BufferedReader reader = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String lines;
StringBuffer sb = new StringBuffer("");
while ((lines = reader.readLine()) != null) {
lines = new String(lines.getBytes(), "utf-8");
sb.append(lines);
}
System.out.println(sb);

////////解析返回数据

String retString = sb.toString();

// JSONObject retObject = JSONObject.(retString);

JSONArray authorJsonArray = JSONArray.fromObject(retString);

for(int i = 0; i < authorJsonArray.size();i++)
{
JSONObject retObject0 = authorJsonArray.getJSONObject(i);

System.out.println(retObject0.getString("desc"));
}

System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");

reader.close();
// 断开连接
connection.disconnect();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

解析返回数据部分是区别,返回数组时,应按照例2写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式