请问怎么处理下面这些新浪微博反回的这种结构的json数据?foo是什么?怎么处理foo读取里面的值?
try{foo(
{
"results":[
{
"to_user_id":1728647563,
"to_user":"kiroro恋",
"text":"喜欢坐在你的车里听王若琳的歌",
"id":4192745203,
"from_user_id":1728647563,
"from_user":"kiroro恋",
"iso_language_code":"nl",
"source":"<a href=\"http://t.sina.com.cn\" rel=\"nofollow\">新浪微博</a>",
"profile_image_url":"http://tp4.sinaimg.cn/1728647563/50/1289280876/0",
"created_at":"Thu Dec 09 13:57:20 +0800 2010"
},
],
"since_id":0,
"max_id":4192745203,
"results_per_page":0,
"next_page":"?page=2&max_id=1291869235&q=王若琳",
"refresh_url":"?since_id=1291874240&q=王若琳",
"completed_in":0.24699999392032623,
"page":1,"query":"王若琳"
}
);}catch(e){}

解决方案 »

  1.   

    function foo(obj)
    {
    var str = "";
    for(key in obj)
    {
        if(typeof(obj[key])=='object')
        {
           str += key+":\n["+ foo(obj[key][0])+"]\n";
        }
        str += key+":"+obj[key]+"\n";  
    }  
        return str;  
    }
    try{var str = foo(
        {
            "results":[
                    {
                        "to_user_id":1728647563,
                        "to_user":"kiroro恋",
                        "text":"喜欢坐在你的车里听王若琳的歌",
                        "id":4192745203,
                        "from_user_id":1728647563,
                        "from_user":"kiroro恋",
                        "iso_language_code":"nl",
                        "source":"<a href=\"http://t.sina.com.cn\" rel=\"nofollow\">新浪微博</a>",
                        "profile_image_url":"http://tp4.sinaimg.cn/1728647563/50/1289280876/0",
                        "created_at":"Thu Dec 09 13:57:20 +0800 2010"
                    },
                ],
                "since_id":0,
                "max_id":4192745203,
                "results_per_page":0,
                "next_page":"?page=2&max_id=1291869235&q=王若琳",
                "refresh_url":"?since_id=1291874240&q=王若琳",
                "completed_in":0.24699999392032623,
                "page":1,"query":"王若琳"
        }
    );}catch(e){}alert(str)
      

  2.   


    try{
      var obj = {
            "results":[
                    {
                        "to_user_id":1728647563,
                        "to_user":"kiroro恋",
                        "text":"喜欢坐在你的车里听王若琳的歌",
                        "id":4192745203,
                        "from_user_id":1728647563,
                        "from_user":"kiroro恋",
                        "iso_language_code":"nl",
                        "source":"<a href=\"http://t.sina.com.cn\" rel=\"nofollow\">新浪微博</a>",
                        "profile_image_url":"http://tp4.sinaimg.cn/1728647563/50/1289280876/0",
                        "created_at":"Thu Dec 09 13:57:20 +0800 2010"
                    },
                ],
                "since_id":0,
                "max_id":4192745203,
                "results_per_page":0,
                "next_page":"?page=2&max_id=1291869235&q=王若琳",
                "refresh_url":"?since_id=1291874240&q=王若琳",
                "completed_in":0.24699999392032623,
                "page":1,"query":"王若琳"
        }
      
      //获取每个属性名称和属性值
      for(ele in obj)
      {
          alert(ele + "= " + eval('obj.' +ele));
         //其中result= [object object],因为它是个二维数组。这个知道处理的吧
      }
      
      //然后自己处理吧、
      
    }
    catch(e)
    {
      alert(e);
    }
      

  3.   

    谢谢,我现在发现获取不了数据,我用ajax无法联接返回数据,好象不能跨域,
    新浪的说明:
    http://open.weibo.com/wiki/index.php/Search/en
    JSON
    curl -u "username:password" "http://api.t.sina.com.cn/search.json?source=appkey&q=王若琳&callback=foo"
    上面的JSON怎么写连接?
    我用jquest连接不了:
    $.get("http://api.t.sina.com.cn/search.json?source=45342654565&q=王若琳", function(json){}出错:
    XMLHttpRequest cannot load http://api.t.sina.com.cn/search.json?source=45342654565&q=%E7%B1%B3%E5%B0%94%E9%A1%BF%E9%AB%98%E4%B8%AD. Origin http://www.findingschool.net is not allowed by Access-Control-Allow-Origin.
      

  4.   

    这样的API提供的是Jsonp,而不是Json
    什么是Jsonp,如果你用jQuery,可以谷歌一下jQuery的Jsonp
      

  5.   

    我也试jquery的
    $.getJSON("http://api.t.sina.com.cn/search.json?source=45342654565&q=王若琳", function(json){}
    就是请求不到东西,不知什么回事,
    单独在浏览器访问http://api.t.sina.com.cn/search.json?source=appkey&q=%E7%8E%8B%E8%8B%A5%E7%90%B3&callback=foo是有显示的,为什么返回不了浏览器显示的json数据?老出错
      

  6.   


    谁帮我看看这代码哪错了?appkey不用理会,当它读取这样的错误的json也行
    {"request":"/search.json","error_code":"400","error":"40022:Error: source paramter(appkey) is missing"}
    $.getJSON("http://api.t.sina.com.cn/search.json?source=appkey&q=王若琳", function(json){
    //var obj = jQuery.parseJSON(json);
    var obj = json;
    alert(obj.length);
    if(obj.length>0){
    $.each(obj, function(i,item){
    alert(obj.request);
    });
    }
    });
      

  7.   

    唉,搞不定js读取,我用php当字符读取再转json处理好了