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

求助。怎么接收及显示一个JSON数据
正在接入一个机票接口;查询航班时对方直接给我返回了一个很庞大的JSON数据;求助:怎么获取、显示在前台页面上面
JSON C# asp.net 序列化 机票

------解决方案--------------------
首先要分析它给你的json数据的格式啊
一般都是一个对象然后里面套集合啊,集合又是套对象啊
一般是这样{[],[],[],[]}
遇到大括号是对象,遇到中括号是集合啊
------解决方案--------------------
应该会告诉你接口的调用方法吧,比如一个地址,那么你可以访问WebService的方式取得返回数据JSON,本身前台页面就可以解析JSON,然后遍历展示
------解决方案--------------------
$.getJSON("你的json地址",{param:"gaoyusi"},function(data){
  $.each(data.root,function(idx,item){
  if(idx==0){
  return true;//同countinue,返回false同break
  }
  alert("name:"+item.name+",value:"+item.value);
  });
  });

注意json格式为如下才可以用:
var data="

  {

  root:

  [

  {name:'1',value:'0'},

  {name:'6101',value:'北京市'},

  {name:'6102',value:'天津市'},

  {name:'6103',value:'上海市'},

  {name:'6104',value:'重庆市'},

  {name:'6105',value:'渭南市'},

  {name:'6106',value:'延安市'},

  {name:'6107',value:'汉中市'},

  {name:'6108',value:'榆林市'},

  {name:'6109',value:'安康市'},

  {name:'6110',value:'商洛市'}

  ]

  }";

如果不是,你要注意灵活点:
alert("name:"+item.name+",value:"+item.value);
这句的获取方式;
[]相当于数组,{}这个相当于对象,:相当于属性,如果出现多个[],多个{}怎么办,那么连续使用这个:
$.each(data.root,function(idx,item)就可以了。注意变通




------解决方案--------------------
写错了 var obj = eavl('('+json+")") 调试对象看看是什么结构
------解决方案--------------------
引用:
后台接受这些都弄好了,现在正在转,.NET后台处理JSON数据就是麻烦,没有用JS来得方便


如果你不是使用一行或者两行代码来搞定这个,说明你现在还不太懂.net处理json。
------解决方案--------------------
引用:
Quote: 引用:

一般来说做这样的系统,在客户端去调用别人的API的可能性基本就等于0,原因是安全性问题,客户端的代码,大家都可以看得到,你可以调用,别人也可以按你的方式去调用机票的接口,后果就不用我说了。

所以基于以上原因,我们一般都是服务器端去调用机票接口的。
1. 如何调用API