① java 访问一个接口得到接口返回JSON,步骤是怎么做的
写个servlet,将结果转换成ArrayJson对象,打印出这个json就行,前端通过ajax去请求获得json数据。java转json需要用到相应的jar包,网络一下吧。
java中的接口是一种特殊的类,使用关键字interface创建。接口功能完全实现后,可以打成jar包,提供给其他公司使用。
要返回json格式数据,可以把接口中抽象方法的返回值类型规定为JSONObject或JSONString类型。这样当其他公司调用时,得到的数据就是json数据了。
另外,以jar形式提供的接口,可以通过反编译得到你的源码,如果你不希望开源,就要加密了。
访问接口时code返回2怎么回事
一般情况接口有调用说明的睁宽,需要看接口提供方提供的说明。
AFHTTPRequestOperationManager 进行post调用,
manager.requestSerializer = [AFJSONRequestSerializer serializer];请求
manager.responseSerializer = [AFJSONResponseSerializer serializer];响应
入参出参都会序列化;后面发现接口返回的参数结构不固定,可能是map,array,string
我印象中如果不重写pareTo方法那返回值都是-1吧......
我一般都是实现Comparable接口,重写CompareTo方法就可以了。
至于降序升序,可以这样比较:
假如A的值大于B,你返回1。这样调用Collections.sort()方法就是升序
假如A的值大于B,你返回-1。这样调用Collections.sort()方法腊袭就是降序
一般比较的都是对象中一个具体的数值。不知道你的类的构造,不好给例子
struts2中用rest后台返回json的方法是统一封装response为JSONObject即可。举例如下:importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;import.opensymphony.xwork2.Action;publilassTest{publicMapresponseJson;publicMapgetResponseJson(){returnresponseJson;}publicvoidsetResponseJson(MapresponseJson){this.responseJson=responseJson;}publicStringgetList(){Mapmap=newHashMap();List>list=newArrayList>();for(inti=0;im=newHashMap();m.put("id",i);m.put("name","Mic"+i);list.add(m);}map.put("rows",list);map.put("totalCont",3);this.setResponseJson(map);returnAction.SUCCESS;}}
可以的,以GET请求为例
var = require('');
var qs = require('querystring');
var data = {
a: 123,
time: new Date().getTime()};这是需要提交的数据轮早兄
var content = qs.stringify(data);
var options = {
hostname: 飗.0.0.1',
port: 10086,
path: '/pay/pay_callback?' + content,
method: 'GET'
};
var req = .request(options, function (res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
});
req.on('error', function (e) {
console.log('problem with request: ' + e.message);
});
req.end();
1
这种方法有两大步第一步是拼接需要的json数据,第二步是用servlet的内置对象response返回到前台。
2
String 类型的数据可以不用借助任何工具直接返回,只要把它拼接对了就可以。如我需要返回一个{“suess”:true,“msg”:“修改失败!”}的json,就可以如下图这样写。(注意,java里的引号要用的转义字符“”)
3
如果需要返回的是一个list或者别的类的化,需要用到JSONArray的辅助工具类,然后使用response.getWriter().print(),返回到打到前台。具体代码如下图。
END
方法2:用Spring框架
如果你使用了Spring框架那就更简单了,你只需要在你的方法返回的时候加一个@ResponseBody的注解就可以了。就这么简单。
在java中,调用请求接口,主要通过流的方式进行调用,示例接口如下:
/**
* 程序中访问数据接口
*/
public String searchLoginService(String urlStr) {
/** 网络的url地址 */
URL url = null;
/** 连接 */
HttpURLConnection Conn = null;
/**** 输入流 */
BufferedReader in = null;
StringBuffer *** = new StringBuffer(); ...
② 不用eclipse编辑器导入json包!求大神指点在java安装目录那个文件夹下放关于json包才能用json。
1,使用json需要固定的jar包
2,jdk1.7.0_25指的是jdk的版本
3,jre7指的是java的运行环境液首版本(我们腔让做java开发只需要安装jdk就可以了)
4,我给你贴图帮你配置一下让你的程序可以解析json
①在工程上右伍埋局键新建文件夹
③ 如何java解析json数组
工具/原料
安装有eclipse软件的电脑一台
方法/步骤
1
首先我们在eclipse中创建一个java工程,在java工程中创建一个HelloWorld的类,在这个java的入口程序中,我们来创建一个json字符串,并且打印出来,如下图:
④ Java实体类转换成json字符串的方法 最好告诉我需要哪些jar
你用的是strtus2吧
需要的jar包:commons-lang-2.4.jar;
json-lib-2.3-jdk13.jar;
jsonplugin-0[1].32.jar;
ezmorph-1.0.2.jar;
commons-beanutils-1.7.0.jar;
在struts.xml中<package name="XXXX" extends="json-default"> extends要扩展json-default
http://blog.csdn.net/agxy08xx1mxx/article/details/6962303这篇文章可以看看,上面讲的很详细
⑤ 关于maven中下载导入json JAR包的问题 Missing artifact net.sf.json-lib:json-lib:jar:2.2.3:compile
json-lib是需要区分jdk版本的,pom.xml中的答哗配置应加上<classifier>标签,如用jdk15:
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.2.3</version>
<classifier>jdk15</classifier>
</dependency>
总之,以上<classifier>标签是必须的念芹,如果还是Missing,可能是因为网络原因导致下载失败。请查看本地仓仔举毕库net\sf\json-lib\json-lib\2.2.3目录下是否存在json-lib-2.2.3-jdk15.jar,如果没有,则把这个目录删除,重新运行mvn clean install