如何将网站上的json数据导到我的java小程序中?

问题描述

如何将网站上的json数据导到我的java小程序中?

我刚学完java基础,打算单纯用java做一个股票数据查询小程序。在聚合数据上找到了一个资料:http://www.juhe.cn/docs/api/id/21 ,我不知道要怎么弄了。

解决方案

发送http请求,读取返回的json数据,存到文件等,然后java程序访问文件

解决方案二:

JAVA用POST向网页发送请求,接收数据

下面是一个范例程序:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

/**

  • @author tensho
    */
    public class TestPost {
    private URL url;

private URLConnection conn;

public TestPost() {
}

public void setURL(String urlAddr) {

try {
url = new URL(urlAddr);
conn = url.openConnection();

//conn.setRequestProperty("Pragma:", "no-cache");
//conn.setRequestProperty("Cache-Control", "no-cache");

} catch (MalformedURLException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}

public void sendPost(String post) {
conn.setDoInput(true);
conn.setDoOutput(true);
PrintWriter output;
try {
output = new PrintWriter(conn.getOutputStream());
output.print(post);
output.close();
} catch (IOException e) {
e.printStackTrace();
}

}

public String getContent() {
String line, result = "";
try {
conn.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
while ((line = in.readLine()) != null) {
result += line + "n";
}
in.close();
} catch (IOException ex) {
ex.printStackTrace();
}
return result;
}

public static void main(String[] args) {
String urlAddr = "http://localhost:7001/safety/identifyReport.jsp";
String post = "manage_dept=%B7%BF%B9%DC%BE%D6&danger_level=3&year=2005&identify_date=2005";

TestPost test = new TestPost();

test.setURL(urlAddr);
test.sendPost(post);
System.out.println(test.getContent());
}
}

执行这个程序,返回的就是String post位参数POST到目标地址urlAddr的结果页面的html代码,我在此以流的形式捕获令其输出。
这个程序说明2个问题:第一,POST的参数是可以用上述方法封装的;第二,可以得到返回的内容。

下面是另一者篇
Java技巧:Java向Web站点发送POST请求

向Web站点发送GET请求是很容易的。比如,创建一个URL对象http://www.sun.com/somepage.jsp?key=value,而不是http://www.sun.com/somepage.jsp。然而如果你需要发送一个POST请求时又该怎样做呢?

向一个Web站点发送POST请求只需要简单的几步。首先要和URL下的URLConnection对话。URLConnection可以很容易的从URL得到。比如:

// Using java.net.URL and
//java.net.URLConnection
URL url = new
URL("http://jobsearch.dice.com/jobsearch/jobsearch.cgi");
URLConnection connection = url.openConnection();
然后把连接设为输出模式。URLConnection通常作为输入来使用,比如下载一个Web页。通过把URLConnection设为输出,你可以把数据向你个Web页传送。下面是如何做:

...
connection.setDoOutput(true);
最后,为了得到OutputStream,简单起见,把它约束在Writer并且放入POST信息中,例如:

...
OutputStreamWriter out = new
OutputStreamWriter(uc.getOutputStream(), "8859_1");
out.write("username=bob&password="+password+"");
// remember to clean up
out.flush();
out.close();
这样就可以发送一个看起来象这样的POST:

POST /jobsearch/jobsearch.cgi HTTP 1.0
ACCEPT: text/plain
Content-type: application/x-www-form-urlencoded
Content-length: 99
username=bob
password=someword
一旦发送成功,用以下方法就可以得到服务器的回应:

connection.getInputStream();
一些Web站点用POST形式而不是GET,这是因为POST能够携带更多的数据,而且不用URL,这使得它看起来不那么庞大。使用上面列出的大致的代码,Java代码可以和这些站点轻松的实现对话

解决方案三:

楼上说的是常用的方法,模拟请求请返回的json数据按照自己需要的方式保存,

时间: 2024-08-04 00:40:33

如何将网站上的json数据导到我的java小程序中?的相关文章

ava json-用java的谷歌库gson解析JSON,如下的json数据,该如何定义java类??

问题描述 用java的谷歌库gson解析JSON,如下的json数据,该如何定义java类?? 求高人指点,用java的谷歌库gson解析JSON,如下的json数据,该如何定义java类?? 在线等............... { "00:00:8e:d7:ba:ac:88:47": { "flow-mod-3": { "version": 1, "type": "FLOW_MOD", "le

如何集成Perf4j到Java应用程序中并生成性能数据

在实际部署的生产环境能够以较低的风险及成本实现对业务逻辑级别性能问题的追踪.本文将介绍如何集成 Perf4j 到 Java 应用程序中并生成性能数据. 系统日志是应用程序问题诊断及运行维护的重要工具.Logback.Log4j 是常用于 Java 平台的日志记录 API. 目前大部分产品只是将系统重要参数.状态的变化及异常信息通过日志输出.本文将要介绍的 Perf4j 是一款专门用于 Java 服务器端代码计时.记录日志和监控结果的开源工具包.Perf4j 对常用日志工具包进行了扩展,能够将得到

Java Web程序中利用Spring框架返回JSON格式的日期_java

返回Json时格式化日期Date第一步:创建CustomObjectMapper类 /** * 解决SpringMVC使用@ResponseBody返回json时,日期格式默认显示为时间戳的问题.需配合<mvc:message-converters>使用 */ @Component("customObjectMapper") public class CustomObjectMapper extends ObjectMapper { public CustomObjectM

.Net中导出数据到Excel(asp.net和winform程序中)_实用技巧

一.asp.net中导出Excel的方法: 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出流写给浏览器.在Response输出时,t分隔的数据,导出Excel时,等价于分列,n等价于换行. 1.将整个html全部输出Excel 此法将html中所有的内容,如按钮,表格,图片等全部输出到Excel中. 复制代码 代码如下: Response.Clear(); Response.Buffer= tru

ajax json数据异步请求方法

在 jQuery 1.2 中,您可以通过使用 JSONP 形式的回调函数来加载其他网域的 JSON 数据,如 "myurl?callback=?".jQuery 将自动替换 ? 为正确的函数名,以执行回调函数. 注意:此行以后的代码将在这个回调函数执行前执行. 实例 $.ajax({ type:"get", dataType:"json", url:"<%=basePath%>actionSmUser.do?method=g

教你如何在jQuery中使用each处理json数据

  jQuery中使用each处理json数据         这篇文章主要介绍了jQuery中使用each处理json数据,非常简单实用,需要的朋友可以参考下 eg:给传进来的ID中当其对应的值为true时,即给对应的ID标签添加一个class 名为 focus,如: ? 1 2 3 4 5 6 7 var obj = { id01:'true', id02:'flase', id03:'true'};   $.each(obj,function(key,val){ if(val == 'tr

Android随手笔记44之JSON数据解析_Android

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android开发中,如何在服务器端创建JSON数据,以及如何在Android客户端对JSON数据进行解析. 1.JSON数据结构 在JSON中有两种数据结构:对象和数组. 1.1对象 在JSON中,一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"

深入分析jquery解析json数据_jquery

我们先以解析上例中的comments对象的JSON数据为例,然后再小结jQuery中解析JSON数据的方法. JSON数据如下,是一个嵌套JSON: 复制代码 代码如下: {"comments":[{"content":"很不错嘛","id":1,"nickname":"纳尼"},{"content":"哟西哟西","id":2

mvc-Spring MVC 拼接json后,页面跳转并传json数据

问题描述 Spring MVC 拼接json后,页面跳转并传json数据 从页面A传入参数,在spring controller 中拼接成json数据,怎样跳转到页面B,并同时传递拼接成的json数据? 代码如下: @RequestMapping(value = "/saleout/precheck", method = RequestMethod.GET) //初次查询 public @ResponseBody Map<String,Object> precheckSto