日期:2014-05-17  浏览次数:20859 次

高分在线急求读取Json数据问题
我的QQ是417052349 在线急等

要读取的json数据网址是:http://app.vstock.jrj.com.cn/api/myTransaction/?uid=091220010012659154

那个是金融界虚拟炒股里面的一个数据,进去后会看到类似这样的一些json数据:
var myTransActionsData = {
 'data': [ { 'stock_name': "\u4e2d\u56fd\u536b\u661f", 'stock_symbol': '600118', 'transaction_time': '2010-12-21 09:31:55', 'flag': 'sell', 'price': '27.48', 'amount': '41400', 'display': 'black' },...............
逗号后面还有的,用省略号表示下,当前的代码数据意思如下图所示:


stock_name表示股票名称,\u4e2d\u56fd\u536b\u661f表示的是汉字“中国卫星”;
stock_symbol表示股票代码;
transaction_time表示成交交易时间;
flag表示买卖标志,说明该股票是买入还是卖出,sell即表示卖出,buy表示买入;
price表示成交价格;
amount表示成交数量;
后面的display不用管它了



下面说下需要实现的功能是:
我要用应用程序读取这些数据,然后用弹出消息的方式得知买进和卖出情况进行监测。

我的思路是:用Ajax无刷新显示该页后http://app.vstock.jrj.com.cn/api/myTransaction/?uid=091220010012659154读取最新数据,也就是当天的股票买入或者卖出,不能重复提示,当有买进或者卖出时实时提示出来;还有一个想法就是用Stream流读取刷新后的页面代码,查找当天买入卖出的情况再提示,但是这个有非常大的缺点:就是不知道该页面会在合适出现买进和卖出情况,必须每秒刷新或者ajax无刷新读取页面数据,这样以来Stream读取非常慢,单独读取一边得花10秒钟左右,程序会卡住,所以这个方法不能采用。
希望有高人知道的说下应用程序怎样实现提示功能,我主要会C#语言,如果其他语言能实现的话都行的,先感谢CSDN的各位高手了。

朋友说了一段代码出来大家参考下,我尝试了下,但不知道如何实现:
function display(){
 $.ajax({  
 url:'http://app.vstock.jrj.com.cn/api/myTransaction/?uid=091220010012659154',  
 type:'post', 
 data:"{}",
 dataType:'json', 
 error:function(XMLHttpRequest,errorThrown){  
  alert( "出错了!"+ errorThrown);  
  },  
 async: false,
 success: function(data){
 for(var i=0;i<data.length;i++){
  var flag =data[i].flag;
  if(flag=="sell")
  {
  alert("已监控到卖出某某某股票");
  }
  html += '<li>标题:<span>'+ data[i].title +'</span></li>';
  html += '<li>内容:<span>'+ data[i].content +'</span></li>';
 html += '<li>发表人:<span>'+ data[i].author  
  +'</span></li>';
  html += '</ul>'
  $('#dictionary').append(html);
}
});
}


另外我在网上看了一个网站http://www.fateqq.com/hua读取腾讯QQ空间花藤的Json数据,看了下他的页面源文件,发现读取的数据跟我要读取的是一样的类型:http://flower.qzone.qq.com/fcg-bin/fcg_get_user_flowerinfo?uin=QQ号码

读取出来的效果如下:
说明:需要测试效果的话,在输入QQ号码的地方我的号码417052349测试就行的,因为他的网站里面加了对使用这个功能的限制,我已经符合使用条件,这个是题外话,当输入Q号后点开始浇水,他下面就会马上显示出该号码的Q空间的花藤Json数据,如我的空间花藤数据地址是:http://flower.qzone.qq.com/fcg-bin/fcg_get_user_flowerinfo?uin=417052349 他下面就读取到了,这是一个显示功能,最主要要实现的就是上面提到的当当天有股票买进或者卖出的时候实时通知即可



------解决方案--------------------
success: function(data){
 for(var i=0;i<data.data.length;i++){
var flag =data[i].flag;
if(flag=="sell")
{
alert("已监控到卖出某某某股票");
}
html += '<li>标题:<span>'+ data[i].title +'</span></li>';
html += '<li>内容:<span>'+ data[i].content +'</span></li>';
 html += '<li>发表人:<span>'+ data[i].author
+'</span></li>';
html += '</ul>'
$('#dictionary').append(html);
}
是不是少了一层了.

------解决方案--------------------
JScript code
<script type="text/javascript">
        //用javascript定时执行
        var re = setInterval("display()", 10000);
    </script>

------解决方案--------------------
加上ajax异步读取应该可以了.
------解决方案--------------------
探讨

引用:
JScript code