从另一个站点获取JSON并转换为数组或csv

时间:2014-06-03 22:31:02

标签: javascript jquery ajax json go

我试图将值改为" 1"这个跨域JSON到我网站上的js数组中。

我尝试使用$.getJSON(),但我遇到了跨域原因错误。我尝试了AJAX并遇到了跨域错误。

有什么方法可以解决这个问题并使用JSON吗?

以下是我尝试使用$.getJSON()

var trends = '';
var json = 'http://hawttrends.appspot.com/api/terms/';
$.getJSON(json, function(trends){
    console.log(trends["1"]);
});

这是我的AJAX尝试:

    $.ajax({
    type:'GET',
    dataType:'jsonp',
    data:{},
    url:'http://hawttrends.appspot.com/api/terms/',
    error:function(jqXHR, textStatus, errorThrown){
        console.log(jqXHR);
    },
    success:function(msg){
        if (msg) {
          var myArray = [];
          $.each(msg, function(i, item) {
             //do whatever you want for each row in json
             myArray.push(item);
          });
        }
    }
});

如果执行此操作的唯一方法是在服务器上。如何解析JSON并转换键的值" 1" Go(Golang)中CSV文件中的元素。

1 个答案:

答案 0 :(得分:2)

像:

var json = 'http://hawttrends.appspot.com/api/terms/';
$.getJSON(json, function(trends){
  $.ajax({
    type:'GET',
    url:json,
    dataType:'JSONP',
    data: trends,
    success: function(msg){
      // do stuff with the msg
    }
  });
});

由于trends会从$.getJSON返回数据,因此您稍后会运行AJAX。如果您有服务器访问权限,则没有理由这样做。

使用PHP:

<?php
$dataArray = json_decode(file_get_contents('http://hawttrends.appspot.com/api/terms/'));
// $dataArray has all data
?>