如何从URL

时间:2015-05-24 02:22:47

标签: javascript jquery json url

我正在尝试从jQuery中的URL解析json请求,但似乎无法正确解决。

以下是我所拥有的,但它不起作用。我正在尝试解析post_title和内容,并使用getElementById方法将其输出到div中。

以下是代码和Json请求。

        <div id="test"></div>
    <span>This is cool.</span>

<script>
jQuery(document).ready(function($) {
  $.ajax({
  url : "https//website-API-json.com/string",
  dataType : "jsonp",
  success : function(parsed_json) {
  var title = parsed_json{result"result"[{"post_title"}};
  var content = parsed_json['result']['']['post_content'];

      document.getElementById("test").innerHTML = 'div class:"post_title"> ' + title + ' </div><br><div class:"post_content"> ' + content '</div>'
  }


  });
});

这是Json请求结果

result({
   "respond":1,
   "paging":{
      "stillmore":0,
      "perpage":10,
      "callpage":1,
      "next":2,
      "previous":0,
      "pages":1,
      "result":"1"
   },
   "message":"",
   "result":[
      {
         "ID":"2003",
         "post_title":"Higher Grounds Coffee Shop",
         "guid":"",
         "post_content":"\"spring fever has hit the high country, stop in for a refreshing frappe, smoothie or a delicious milkshake\"",
         "post_author":"2",
         "post_excerpt":"",
         "post_date":"May 1, 2015",
         "post_date_gmt":"May 2, 2015",
         "comment_status":"open",
         "ping_status":"open",
         "post_name":"201-new-market-centre-boone-nc-28607-united-states-higher-grounds-coffee-shop",
         "post_modified":"May 1, 2015",
         "post_modified_gmt":"May 2, 2015",
         "post_content_filtered":"",
         "post_parent":"0",
         "menu_order":"0",
         "comment_count":"3",
         "featuredimage":"",
         "featuredthumb":"",
         "taxonomies":{
            "job_listing_region":[
               {
                  "id":"157",
                  "name":"Charlotte",
                  "slug":"charlotte-nc",
                  "description":"",
                  "count":"1",
                  "parent":"104",
                  "image":"",
                  "custom_fields":[

                  ]
               }
            ]
         },
         "category":[

         ],
         "tags":[

         ],
         "author":[
            {
               "ID":"2",
               "user_login":"Eric",
               "user_nicename":"ericgriffin",
               "user_email":"",
               "user_url":"",
               "user_registered":"May 15, 2015",
               "display_name":"Eric",
               "role":{
                  "customer":true
               },
               "first_name":"Eric",
               "last_name":"Griffin",
               "nickname":"EricGriffin",
               "description":"",
               "avatar":"",
               "aim":"",
               "jabber":"",
               "yim":"",
               "custom_fields":{
                  "company_name":"",
                  "avatar":"",
                  "hasbeensetup":"IsSetup"
               }
            }
         ],
         "post_format":false,
         "custom_fields":{
            "favorites":"0"
         }
      }
   ]
})

任何帮助都会非常感激。我正在尝试提取post_title和post_content。

1 个答案:

答案 0 :(得分:1)

使用jQuery.getJSON()。它为您解析JSON。我也总觉得success回调令人讨厌和丑陋:这就是我要做的事情:

function appendPost(__, post) {
  var title = $('<div/>')
    .addClass('post_title')
    .text(post.post_title);
  var content = $('<div/>')
    .addClass('post_content')
    .text(post.post_content);
  $('#test')
    .append(title)
    .append('<br/>')
    .append(content);
}

function processResults(parsed_json) {
  var posts = parsed_json.result || [];
  $('#test').empty();
  $.each(posts, appendPost);
}

jQuery(document).ready(function($) {
  $.getJSON("https//website-API-json.com/string")
    .then(processResults);
});