java 通过发送json,post请求,返回json数据的方法
程序员文章站
2023-11-24 16:49:22
实例如下所示:
import java.io.bufferedreader;
import java.io.dataoutputstream;
import...
实例如下所示:
import java.io.bufferedreader; import java.io.dataoutputstream; import java.io.inputstream; import java.io.inputstreamreader; import java.io.outputstream; import java.net.httpurlconnection; import java.net.url; import org.json.jsonarray; import org.json.jsonobject; public class getjsondata { public static string getjsondata(jsonobject jsonparam,string urls) { stringbuffer sb=new stringbuffer(); try { ; // 创建url资源 url url = new url(urls); // 建立http连接 httpurlconnection conn = (httpurlconnection) url.openconnection(); // 设置允许输出 conn.setdooutput(true); // 设置允许输入 conn.setdoinput(true); // 设置不用缓存 conn.setusecaches(false); // 设置传递方式 conn.setrequestmethod("post"); // 设置维持长连接 conn.setrequestproperty("connection", "keep-alive"); // 设置文件字符集: conn.setrequestproperty("charset", "utf-8"); // 转换为字节数组 byte[] data = (jsonparam.tostring()).getbytes(); // 设置文件长度 conn.setrequestproperty("content-length", string.valueof(data.length)); // 设置文件类型: conn.setrequestproperty("contenttype", "application/json"); // 开始连接请求 conn.connect(); outputstream out = new dataoutputstream(conn.getoutputstream()) ; // 写入请求的字符串 out.write((jsonparam.tostring()).getbytes()); out.flush(); out.close(); system.out.println(conn.getresponsecode()); // 请求返回的状态 if (httpurlconnection.http_ok == conn.getresponsecode(){ system.out.println("连接成功"); // 请求返回的数据 inputstream in1 = conn.getinputstream(); try { string readline=new string(); bufferedreader responsereader=new bufferedreader(new inputstreamreader(in1,"utf-8")); while((readline=responsereader.readline())!=null){ sb.append(readline).append("\n"); } responsereader.close(); system.out.println(sb.tostring()); } catch (exception e1) { e1.printstacktrace(); } } else { system.out.println("error++"); } } catch (exception e) { } return sb.tostring(); } public static void main(string[] args) { jsonobject jsonparam = new jsonobject(); jsonparam.put("id", "1401_1406"); jsonparam.put("device_size", "480x720"); string url="www.baidu.com"; string data=getjsondata.getjsondata(jsonparam,url); //返回的是一个[{}]格式的字符串时: jsonarray jsonarray = new jsonarray(data); //返回的是一个{}格式的字符串时: /*jsonobject obj= new jsonobject(data);*/ } }
以上这篇java 通过发送json,post请求,返回json数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读