ASP.NET WEB API:为什么我没有完整的Json?

时间:2014-06-02 08:16:28

标签: c# android asp.net json asp.net-web-api

我的问题是,当我浏览服务URL时,我看到“键值”对,但我没有看到数组或对象的名称,我需要名称,因为我想将该服务用于android。

它看起来像这样:enter image description here

我的代码如下所示:

1。在ValueController中我有方法:

[AcceptVerbs("GET", "POST")]   
public List<BuzzMonitor.Web.Message> Search(string text, DateTime dateFrom, DateTime dateTo, [ModelBinder]List<int> themeIds, [ModelBinder]List<int> sourceIds)
{
    MessageHandler mh = new MessageHandler();

    List<BuzzMonitor.Web.Message> messages = null;

    messages = mh.Search(text,dateFrom,dateTo,themeIds,sourceIds);

    return messages;
}

2。在Global.asax中,我补充说:

GlobalConfiguration.Configuration.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));

当我看不到完整的JSON时,有没有人知道丢失了什么,只看到关键:值对?谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

我认为您认为您没有看到阵列名称或类别对吗?这是一个错误?

答案是否定的。

原因?好吧,JSON被发明为通过网络轻松共享对象,主要目标是使其独立于底层架构 -

http://www.json.org/

这就是为什么你看不到数组名或变量名,只有对象符号。那就是JSON代表Java Script Object Notation。接收方有责任从以json格式提供的数据重新构造对象。

在你的情况下messages是一个包含数据列表的数组,输出也是如此 -

[]表示数组,{}表示其中只有一个对象。

编辑:您也可以使用它来解析json -

http://developer.android.com/reference/org/json/JSONTokener.html