简体   繁体   English

如何解析URL的json输出

[英]How to Parse json output from URL

I'm trying to parse a json request from an URL in jQuery but can't seem to get it right. 我正在尝试从jQuery中的URL解析json请求,但似乎无法正确处理。

Below is what I have, but it's not working. 以下是我所拥有的,但不起作用。 I'm trying to parse the post_title and content and output it into a div using the getElementById method. 我正在尝试解析post_title和内容,并使用getElementById方法将其输出到div中。

Below is the code and the Json request. 下面是代码和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>'
  }


  });
});

And here's the Json request result 这是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"
         }
      }
   ]
})

Any help would be greatly appreciative. 任何帮助将是极大的赞赏。 I'm trying to extract the post_title and post_content. 我正在尝试提取post_title和post_content。

Use jQuery.getJSON() . 使用jQuery.getJSON() It parses JSON for you. 它为您解析JSON。 Also I've always felt the success callback annoying and ugly: Here is what I would do: 同样,我也总是感到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);
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM