我的问题是,当我浏览服务URL时,我看到“键值”对,但我没有看到数组或对象的名称,我需要名称,因为我想将该服务用于android。
它看起来像这样:
我的代码如下所示:
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时,有没有人知道丢失了什么,只看到关键:值对?谢谢你的帮助!
答案 0 :(得分:2)
我认为您认为您没有看到阵列名称或类别对吗?这是一个错误?
答案是否定的。
原因?好吧,JSON被发明为通过网络轻松共享对象,主要目标是使其独立于底层架构 -
这就是为什么你看不到数组名或变量名,只有对象符号。那就是JSON代表Java Script Object Notation。接收方有责任从以json格式提供的数据重新构造对象。
在你的情况下messages
是一个包含数据列表的数组,输出也是如此 -
[]
表示数组,{}
表示其中只有一个对象。
编辑:您也可以使用它来解析json -
http://developer.android.com/reference/org/json/JSONTokener.html