JQuery получить значения json

Я пытаюсь получить последние 3 сообщения в блоге с помощью проекта = false для моей системы через jQuery json и после некоторых учебных пособий, если они найдены в Интернете, но без везения, и со следующими ключами:

"Слизняк" "Обновленный" "заглавие" "Содержание" "draft = false"

Вот выход json

{ 
 "posts":[ 
 { 
 "Blog":{ 
 "id":"1252",
 "client_id":"1432",
 "slug":"my-blog-slug",
 "last_updated_by":"614",
 "draft":false,
 "created":"2014-09-17 11:18:39",
 "updated":"2014-09-17 11:18:39",
 "locale":"isl",
 "title":"This is the blog title",
 "content":"<p><code>My excellent content.<\/p>",
 "author":"John Doe"
 },
 "UpdatedBy":{ 
 "id":"614",
 "name":"John Doe"
 }
 }
 ]
}
</code> </p><p> Мой текущий скрипт ниже, но я уверен, что я делаю много чего не так.</p>  <p> Любая помощь будет так высоко оценена.</p>
2 ответа

попробуйте вот так:

JS

$(document).ready(function() {
 $.ajax({
 url: "blogs.json",
 dataType: "json",
 success: function(data) {
 var json = $.parseJSON(data);
 $.each(json.posts, function(){
 $('#results').html('Title: ' + this.Blog.title + 'Description: ' + this.Blog.content);
 });
 }
 });
});

демонстрация


Попробуйте это: сообщения являются первым ключом в json-объекте, и их может быть несколько, поэтому он использует индекс, здесь он равен нулю. после получения сообщений, обращайтесь к каждому элементу по его ключу.

var blog = json.posts[0]["Blog"];

 $('#results').html('Title: ' + blog["created"] + 'Description: ' + blog["content"]);

EDIT - согласно комментарию OP, добавив ниже код

$(document).ready( function() { 
 $.parseJSON("/blogs.json", function(data){
 var json = $.parseJSON(data);
 var blog = json.posts[0]["Blog"]; 
 $.each(blog, function(){ 
 $("div#posts").append("<h2>Title: "+blog['title']+"</h2> <div post\""="">Content: "+blog['content']+"</div> "); 
 }); 
 });

демонстрация

licensed under cc by-sa 3.0 with attribution.