Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得JSON响应而不是XML响应?_Json_Asp.net Mvc 4_Asp.net Web Api_Content Type - Fatal编程技术网

如何获得JSON响应而不是XML响应?

如何获得JSON响应而不是XML响应?,json,asp.net-mvc-4,asp.net-web-api,content-type,Json,Asp.net Mvc 4,Asp.net Web Api,Content Type,我只是创建了一个新的WebApi项目,并保留了默认控制器: public class ValuesController : ApiController { // GET api/values/5 public string Get(int id) { return "value"; } //other services... } 当我试图请求它时,我无法获得有效的JSON结果 没有特定的头=>应用程序/xml结果 将内容类型分配给应

我只是创建了一个新的WebApi项目,并保留了默认控制器:

public class ValuesController : ApiController
{ 
    // GET api/values/5
    public string Get(int id)
    {
        return "value";
    }

    //other services...
}
当我试图请求它时,我无法获得有效的JSON结果

  • 没有特定的头=>
    应用程序/xml
    结果
  • 内容类型
    分配给
    应用程序/json
    =>
    应用程序/xml
    结果的标题
  • accept
    分配给
    application/json
    的标题为我提供了正确的响应
    内容类型
    ,但json格式不正确:
    值“
获取有效JSON结果的方法是什么?

您必须使用以下返回类型:

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...
}
您必须将以下内容用作您的退货类型:

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...
}
  • 没有特定的头=>application/xml结果
  • 内容类型分配给application/json=>application/xml结果的标题
您正在使用MVC4RTM吗?如果您使用的是MVC4RTM,那么默认格式应该是application/json。。。我无法重现你的情景

  • 带有分配给application/json的accept的标头为我提供了正确的响应内容类型,但json格式不正确:“value”
“value”实际上是字符串的有效JSON值。如果您正在查找名称/值对的格式,下面是一个示例。假设我有一个叫做“Person”的类

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
。。。我有一个动作,返回一个person对象

    public Person Get()
    {
        return new Person() { Id = 1, FirstName = "John", LastName = "Doe" };
    }
然后,对上述操作的调用将返回以下内容:

{"Id":1,"FirstName":"John","LastName":"Doe"}
希望这有帮助

  • 没有特定的头=>application/xml结果
  • 内容类型分配给application/json=>application/xml结果的标题
您正在使用MVC4RTM吗?如果您使用的是MVC4RTM,那么默认格式应该是application/json。。。我无法重现你的情景

  • 带有分配给application/json的accept的标头为我提供了正确的响应内容类型,但json格式不正确:“value”
“value”实际上是字符串的有效JSON值。如果您正在查找名称/值对的格式,下面是一个示例。假设我有一个叫做“Person”的类

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
。。。我有一个动作,返回一个person对象

    public Person Get()
    {
        return new Person() { Id = 1, FirstName = "John", LastName = "Doe" };
    }
然后,对上述操作的调用将返回以下内容:

{"Id":1,"FirstName":"John","LastName":"Doe"}

希望这有帮助。

问题是字符串没有自动序列化。因此,您的解决方案是好的。问题是字符串不会自动序列化。所以,您的解决方案很好。是的,MVC4 RTM。我确认它与对象一起工作。我的问题是一个简单的字符串。我的Json解析器无法将“value”识别为有效的Json字符串。我确认它与对象一起工作。我的问题是一个简单的字符串。我的Json解析器无法将“value”识别为有效的Json字符串。