1

新しいWebApiプロジェクトを作成し、デフォルトのコントローラーを保持します。

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

    //other services...
}

リクエストしようとすると、有効なJSON結果を取得できません。

  • 特定のヘッダーなし=>application/xml結果
  • =>結果 にcontent-type割り当てられたヘッダーapplication/jsonapplication/xml
  • acceptに割り当てられたヘッダーapplication/jsonは正しい応答を返しますcontent-typeが、JSONの形式が正しくありません:"value"

有効なJSON結果を取得する方法は何ですか?

4

2 に答える 2

3
  • 特定のヘッダーなし=>application/xmlの結果
  • content-typeがapplication/json => application/xmlの結果に割り当てられたヘッダー

MVC 4 RTMを使用していますか?MVC 4 RTMを使用している場合、デフォルトの形式は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"}

お役に立てれば。

于 2012-10-02T04:33:07.423 に答える
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...
}
于 2012-10-01T09:50:41.243 に答える