2013-06-18 3 views
1

создал веб-интерфейс API, который выводит JSON, пытаясь использовать его с Backbone.js постраничной плагин для Ouput результаты в Backbone.js бесконечномерным пейджинговой плагинWeb-API JSON Родитель Имя объекта

это мой outputed JSON

[{"id":1,"title":"test1""desc":"book1"}, 
    {"id":2,"title":"test2","desc":"book2"}, 
    {"id":3,"title":"test3", "desc":"book3"}, 
    {"id":4,"title":"test4","desc":"book4"}, 
    {"id":5,"title":"test5","desc":"book5"}, 
    {"id":6,"title":"test6","desc":"book6"}] 

, но мне нужно, чтобы иметь название объекта включены как Backbone.js Paginator требует, чтобы вернуть объект ответа. думаю, им почти нет, но не могу показаться, чтобы получить его, чтобы показать или работать, как я добавить имя объекта к нему

{"object name:"[{"id":1,"title":"test1","desc":"book1"}, {"id":2,"title":"test2","desc":"book2"}, 
{"id":3,"title":"test3","desc":"book3"}, 
{"id":4,"title":"test4","desc":"book4"}, 
{"id":5,"title":"test5","desc":"book5"}, 
{"id":6,"title":"test6","desc":"book6"}]} 

мой .NET API Web API выглядит следующим образом

namespace newslist 
{ 
public class NewsController : ApiController 
{ 
    List<News> Articles = new List<News>{ 
     new News { id=1, title="test1", desc ="test1"}, 
     new News { id=2, title="test2", desc ="test2"}, 
     new News { id=3, title="test3", desc ="test3"}, 
     new News { id=4, title="test4", desc ="test4"}, 
     new News { id=5, title="test5", desc ="test5"}, 
     new News { id=6, title="test6", desc ="test6"} 

    }; 

    public List<News> GetAllLatestNews() 
    { 
     return Articles; 
    }  

    public News GetNewsById(int id) 
    { 
     var News = Articles.FirstOrDefault((p) => p.id == id); 
     if (News == null) 
     { 
      throw new HttpResponseException(HttpStatusCode.NotFound); 
     } 

     return News; 
    } 

    public IEnumerable<News> GetNewsByCategory(string desc) 
    { 
     return Articles.Where(
      (p) => string.Equals(p.desc, desc, 
       StringComparison.OrdinalIgnoreCase)); 
     } 
    } 
} 

класса файл:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

    namespace newslist 
    { 
    public class News 
    { 
    public int id { get; set; } 
    public string title { get; set; } 
    public string desc { get; set; } 

    } 
} 

ответ

1

Если JSON только в порядке, это должно дать вам то, что вы хотите.

public class NewsController : ApiController 
{ 
    List<News> Articles = new List<News>{ 
     new News { id=1, title="test1", desc ="test1"}, 
     new News { id=2, title="test2", desc ="test2"}, 
     new News { id=3, title="test3", desc ="test3"}, 
     new News { id=4, title="test4", desc ="test4"}, 
     new News { id=5, title="test5", desc ="test5"}, 
     new News { id=6, title="test6", desc ="test6"} 

    }; 

    public HttpResponseMessage GetAllLatestNews() 
    { 
     return Request.CreateResponse(HttpStatusCode.OK, new { ObjectName = Articles}); 
    } 
} 
+1

благодарит вас за то, что сработало greate именно то, что я пытался сделать – user2286483

Смежные вопросы