获取股票代码接口json

chenologin2分享 时间:

求助,Java中如何根据一个http接口获取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 访问一个接口得到接口返回JSON,步骤是怎么做的

java中的接口是一种特殊的类,使用关键字interface创建。

接口功能完全实现后,可以打成jar包,提供给其他公司使用。

要返回json格式数据,可以把接口中抽象方法的返回值类型规定为JSONObject或JSONString类型。

这样当其他公司调用时,得到的数据就是json数据了。

另外,以jar形式提供的接口,可以通过反编译得到你的源码,如果你不希望开源,就要加密了。

从API接口获取的json数据怎么存到对象的List集合中

1. 简单的手动放置 键值对 到JSONObject,然后在put到JSONArray对象里List al = articleMng.find(f); System.out.println(al.size()); HttpServletResponse hsr = ServletActionContext.getResponse(); if(null == al){ return ; } for(Article a : al){ System.out.println(a.getId()+a.getDescription()+a.getTitle()); } JSONArray json = new JSONArray(); for(Article a : al){ JSONObject jo = new JSONObject(); jo.put("id", a.getId()); jo.put("title", a.getTitle()); jo.put("desc", a.getDescription()); json.put(jo); } try { System.out.println(json.toString()); hsr.setCharacterEncoding("UTF-8"); hsr.getWriter().write(json.toString()); } catch (IOException e) { e.printStackTrace(); }复制代码上述代码JSONArray是引入的org.json.JSONArray包而用net.sf.json包下JSONArray的静态方法:fromObject(list) 这是网上大多是都是直接用此方法快捷转换JSON,但是对于Hibernate级联操作关联的对象,这个方法就会报错,如果将映射文件中的级联配置去掉就行了。

另外对于list的要求就是其中的元素是字符串或对象,否则JSON不知道你想要的是什么数据。

但是级联操作毕竟还是得存在,否则以后数据冗余、多余。

解决方法就是:JSONArray subMsgs = JSONArray.fromObject(object, config);JsonConfig config = new JsonConfig(); config.setJsonPropertyFilter(new PropertyFilter() { public boolean apply(Object arg0, String arg1, Object arg2) { if (arg1.equals("article") ||arg1.equals("fans")) { return true; } else { return false; } } });复制代码说明:提供了一个过滤作用,如果遇到关联的对象时他会自动过滤掉,不去执行关联关联所关联的对象。

这里我贴出我hibernate中的配置关系映射的代码帮助理解: 总结:1. JSONArray subMsgs = JSONArray.fromObject(subMessages, config);其中config是可选的,当出现上面的情况是可以配置config参数,如果没有上面的那种需求就可以直接使用fromObject(obj)方法,它转换出来的就是标准的json对象格式的数据,如下:{["attr", "content", ...}, ...]}2. JSONObject jTmsg = JSONObject.fromObject(themeMessage, config);这是专门用来解析标准的pojo,或者map对象的,pojo对象的格式就不用说了,map的形式是这样的{"str", "str"}。

package com.nubb.bean;import java.io.Serializable;public class Person implements Serializable{ private static final long serialVersionUID = 1L; private String name; private int age; private String address; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; }}package com.nubb.test;import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.StandardOpenOption;import java.util.ArrayList;import java.util.List;import com.alibaba.fastjson.JSON;import com.nubb.bean.Person;public class JSONSerializer { private static final String DEFAULT_CHARSET_NAME = "UTF-8"; public static String serialize(T object) { return JSON.toJSONString(object); } public static T deserialize(String string, Class clz) { return JSON.parseObject(string, clz); } public static T load(Path path, Class clz) throws IOException { return deserialize( new String(Files.readAllBytes(path), DEFAULT_CHARSET_NAME), clz); } public static void save(Path path, T object) throws IOException { if (Files.notExists(path.getParent())) { Files.createDirectories(path.getParent()); } Files.write(path, serialize(object).getBytes(DEFAULT_CHARSET_NAME), StandardOpenOption.WRITE, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING); } public static void main(String[] args) { Person person1 = new Person(); person1.setAddress("address"); person1.setAge(11); person1.setName("amao"); Person person2 = new Person(); person2.setAddress("address"); person2.setAge(11); person2.setName("amao"); List lp = new ArrayList(); lp.add(person1); lp.add(person2); System.out.println(serialize(lp)); }}输出:[{"address":"address","age":11,"name":"amao"},{"address":"address","age":11,"name":"amao"}]

从API接口获取的json数据怎么调用

展开全部 需要用到fastjson.jarString str ="{\\"meta\\":{\\"code\\":\\"0\\",\\"message\\":\\"同步成功!\\"},\\"data\\":{\\"orderno\\":\\"U_2018062790915774\\",\\"suborderno\\":\\"SUB_2018062797348039\\",\\"type\\":\\"organunit\\",\\"result\\":{\\"organunit\\":{\\"totalCount\\":2,\\"successCount\\":0,\\"failCount\\":2,\\"errors\\":[{\\"code\\":\\"UUM70004\\",\\"message\\":\\"组织单元名称不能为空\\",\\"data\\":{\\"id\\":\\"254\\",\\"suborderNo\\":\\"SUB_2018062797348039\\",\\"organUnitType\\":\\"部门\\",\\"action\\":\\"add\\",\\"parent\\":\\"10000\\",\\"ordinal\\":0,\\"organUnitFullName\\":\\"组织单元全称\\"},\\"success\\":false},{\\"code\\":\\"UUM70004\\",\\"message\\":\\"组织单元名称不能为空\\",\\"data\\":{\\"id\\":\\"255\\",\\"suborderNo\\":\\"SUB_2018062797348039\\",\\"organUnitType\\":\\"部门\\",\\"action\\":\\"add\\",\\"parent\\":\\"10000\\",\\"ordinal\\":0,\\"organUnitFullName\\":\\"组织单元全称\\"},\\"success\\":false}]},\\"role\\":{\\"totalCount\\":0,\\"successCount\\":0,\\"failCount\\":0,\\"errors\\":[]},\\"user\\":{\\"totalCount\\":0,\\"successCount\\":0,\\"failCount\\":0,\\"errors\\":[]}}}}";JSONObject jsonObject = JSON.parseObject(str);JSONObject data = jsonObject.getJSONObject("data");

如何调用http接口获取json数据及GET/POST方式调用http接口

1、通过API获取实时数据 请求地址 http://finance.yahoo.com/d/quotes.csv?s=&f= 参数 s – 表示股票名称,多个股票之间使用英文加号分隔,如”XOM+BBDb.TO+JNJ+MSFT”,罗列了四个公司的股票:XOM, BBDb.TO, JNJ, MSFT。

f – 表示返回数据列,如”snd1l1yr”。

更详细的参见雅虎股票 API f 参数对照表 。

2、通过API获取历史数据 请求地址 http://ichart.yahoo.com/table.csv?s=&a=&b=&c=&d=&e=&f=&g=d&ignore=.csv 参数 s – 股票名称 a – 起始时间,月 b – 起始时间,日 c – 起始时间,年 d – 结束时间,月 e – 结束时间,日 f – 结束时间,年 g – 时间周期。

Example: g=w, 表示周期是\'周\'。

d->\'日\'(day), w->\'周\'(week),m>\'月\'(mouth),v->\'dividends only\'一定注意月份参数,其值比真实数据-1。

如需要9月数据,则写为08。

3、通过API获取深沪股票数据 雅虎的API是国际性的,支持查询国内沪深股市的数据,但代码稍微变动一下,如浦发银行的代号是:600000.SS。

规则是:上海市场末尾加.ss,深圳市场末尾加.sz。

股票数据的获取目前有如下两种方法可以获取: 1. http/javascript接口取数据。

2. web-service接口。

3.http/javascript接口取数据。

4.1Sina股票数据接口。

以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据。

接口: ...

java 怎么获取url接口json数据

String oParams = "Field1=10" ; //设置参数String url = "/api/SimpleInfoDocumentByField"; HttpClient httpclient = new HttpClient();httpclient.getHostConfiguration().setHost("192.168.0.231", 7000, "http"); String urlBody = null;try {GetMethod getMethod= new GetMethod(url + "?" + oParams);getMethod.setRequestHeader("Content-type", "text/JSON; charset=UTF-8"); // 链接超时(单位毫秒)httpclient.getHttpConnectionManager().getParams().setConnectionTimeout(3000);// 读取超时(单位毫秒)httpclient.getHttpConnectionManager().getParams().setSoTimeout(3000);int statusCode = httpclient.executeMethod(getMethod); if (statusCode == 200) {urlBody = getMethod.getResponseBodyAsString();} getMethod.releaseConnection();} catch(Exception e){e.printStackTrace();}还有一种postMethod,自己百度吧。

如何获取实时的股票行情信息,有相关的公用接口或者数据源吗

实时股票数据接口股票数据的获取目前有如下两种方法可以获取:1. http/javascript接口取数据2. web-service接口1.http/javascript接口取数据1.1Sina股票数据接口以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据接口:http://hq.sinajs.cn/list=sh601006这个url会返回一串文本,例如:var hq_str_sh601006="大秦铁路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91, 26.92, 22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700, 26.89, 14300,26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93, 14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11, 15:05:32";这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,按照程序员的思路,顺序号从0开始。

0:”大秦铁路”,股票名字;1:”27.55″,今日开盘价;2:”27.25″,昨日收盘价;3:”26.91″,当前价格;4:”27.55″,今日最高价;5:”26.20″,今日最低价;6:”26.91″,竞买价,即“买一”报价;7:”26.92″,竞卖价,即“卖一”报价;8:”22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;9:”589824680″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;10:”4695″,“买一”申请4695股,即47手;11:”26.91″,“买一”报价;12:”57590″,“买二”13:”26.90″,“买二”14:”14700″,“买三”15:”26.89″,“买三”16:”14300″,“买四”17:”26.88″,“买四”18:”15100″,“买五”19:”26.87″,“买五”20:”3100″,“卖一”申报3100股,即31手;21:”26.92″,“卖一”报价(22, 23), (24, 25), (26,27), (28, 29)分别为“卖二”至“卖四的情况”30:”2008-01-11″,日期;31:”15:05:32″,时间;一个简单的JavaScript应用例子: script type="text/javascript" src="http://hq.sinajs.cn/list=sh601006" charset="gb2312">/script>/javascript">var elements=hq_str_sh601006.split(",");document.write("current price:"+elements[3]);这段代码输出大秦铁路(股票代码:601006)的当前股价current price:14.20如果你要同时查询多个股票,那么在URL最后加上一个逗号,再加上股票代码就可以了;比如你要一次查询大秦铁路(601006)和大同煤业(601001)的行情,就这样使用URL:http://hq.sinajs.cn/list=sh601003,sh601001查询大盘指数,比如查询上证综合指数(000001):http://hq.sinajs.cn/list=s_sh000001服务器返回的数据为:var hq_str_s_sh000001="上证指数,3094.668,-128.073,-3.97,436653,5458126";数据含义分别为:指数名称,当前点数,当前价格,涨跌率,成交量(手),成交额(万元);查询深圳成指数:http://hq.sinajs.cn/list=s_sz399001对于股票的K线图,日线图等的获取可以通过请求http://image.sinajs.cn/…./…/*.gif此URL获取,其中*代表股票代码,详见如下:查看日K线图:http://image.sinajs.cn/newchart/daily/n/sh601006.gif分时线的查询:http://image.sinajs.cn/newchart/min/n/sh000001.gif日K线查询:http://image.sinajs.cn/newchart/daily/n/sh000001.gif周K线查询:http://image.sinajs.cn/newchart/weekly/n/sh000001.gif月K线查询:http://image.sinajs.cn/newchart/monthly/n/sh000001.gif1.2 Baidu&Google的财经数据在baidu, google中搜索某只股票代码时,将会在头条显示此股票的相关信息,例如在google搜索601006时,第一条搜索结果如下图:通过点击左边的图片我们发现会将此图片链接到sina财经频道上,也就是说google股票数据的获取也是从sina获取。

后经抓包分析,发现google也是采用1.1中介绍的接口。

Baidu的股票数据来自baidu的财经频道http://stock.baidu.com/1.3 其他方式除了sina,baidu等网站提供股票信息外,其他网站也有类似的接口。

我们分析了一款论坛上采用的股票插件,其中有关于实时股票数据获取的介绍,详见如下代码,其中可以看到有些数据来自sina。

以下是ASP示例:=5 thenstockdata=gethttp("http://hq.sinajs.cn/list=sh"&code&"")if not len(stockdata)=0 then stockdata=split(stockdata,chr(34))(1)end ifif len(stockdata)=0 thenstockdata="0,0,0,0,0,0,0,0,0,0,0,0"elsestockdatasplit=split(stockdata,",") stockdata=""&exstock.checkstr(stockdatasplit(0))&","&stockdatasplit(1)&","&stockdatasplit(2)&","&stockdatasplit(3)&","&stockdatasplit(4)&","&stockdatasplit(5)&","&formatdatetime(""&stockdatasplit(30)&" "&stockdatasplit(31)&"",0)&""end if\'0=股票名称,1=开盘价格,2=昨收盘价格,3=当前价格,4=最高价,5=最低价,6=更新时间getstockdata=stockdataend functionfunction getstockimg(code)dim rndnum,addnum,checkcode,imgsourceif len(code)=5 thengetstockimg="http://image.sinajs.cn/newchart/daily/n/sh"&code&".gif"end ifimgsource="http://finance.sina.com.cn"case 3getstockimg="http://hq.gazxfe.com/stoc...

95039