我只是创建一个新的WebApi项目并保留默认控制器:
public class ValuesController : ApiController
{
// GET api/values/5
public string Get(int id)
{
return "value";
}
//other services...
}
当我尝试请求它时,我无法获得有效的JSON结果。
application/xml
结果content-type
分配给application/json
=>的标头application/xml
结果accept
分配给application/json
的标题为我提供了正确的回复content-type
,但格式错误的JSON:"value"
。获取有效JSON结果的方法是什么?
答案 0 :(得分:3)
- 没有特定的标头=> application / xml result
- 分配给application / json =>的内容类型的标头application / xml result
您使用的是MVC 4 RTM吗?如果你使用MVC 4 RTM,默认格式应该是application / json ...我无法重新编写你的场景。
- 接受分配给application / json的头文件给我一个正确的响应内容类型,但格式错误的JSON:“value”。
“value”实际上是字符串的有效JSON值。如果您正在寻找名称/值对的格式,这是一个示例。假设我有一个名为'人'的课程......
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
...我有一个返回人物对象的动作,
public Person Get()
{
return new Person() { Id = 1, FirstName = "John", LastName = "Doe" };
}
然后对上述操作的调用将返回:
{"Id":1,"FirstName":"John","LastName":"Doe"}
希望这有帮助。
答案 1 :(得分:1)
您必须使用JsonResult
作为返回类型:
public class ValuesController : ApiController
{
// GET api/values/5
public JsonResult Get(int id)
{
object returnObject;
// do here what you need to get the good object inside returnObject
return this.Json(returnObject, JsonRequestBehavior.AllowGet);
}
// other services...
}