[解決済み] Asp.net WEBAPIから明示的にJSON文字列を返しますか?
2023-01-13 04:04:17
質問
NewtonSoft JSON.NETを使用していて、コントローラからJobjectを返すだけで、うまくいく場合があります。
しかし、他のサービスから生のJSONを取得し、それを自分のWebAPIから返す必要がある場合があります。このコンテキストでは、NewtonSOFTを使用することはできませんが、もしできたとしたら、文字列からJOBJECTを作成し(これは不要な処理オーバーヘッドに思えます)、それを返せば、世界はすべてうまくいくでしょう。
しかし、私はこれを単純に返したいのですが、文字列を返すと、クライアントは私のコンテキストをエンコードした文字列を含むJSONラッパーを受け取ります。
WebAPIコントローラメソッドから明示的にJSONを返すにはどうしたらよいでしょうか。
どのように解決するのですか?
いくつかの方法があります。最も単純なものは、メソッドが
HttpResponseMessage
を返すようにし、そのレスポンスを
StringContent
を使用して、以下のコードのようなものを作成します。
public HttpResponseMessage Get()
{
string yourJson = GetJsonFromSomewhere();
var response = this.Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(yourJson, Encoding.UTF8, "application/json");
return response;
}
そして、NULLまたは空のJSON文字列をチェックする
public HttpResponseMessage Get()
{
string yourJson = GetJsonFromSomewhere();
if (!string.IsNullOrEmpty(yourJson))
{
var response = this.Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(yourJson, Encoding.UTF8, "application/json");
return response;
}
throw new HttpResponseException(HttpStatusCode.NotFound);
}
関連
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] JSON文字列を安全にオブジェクトに変換する
-
[解決済み] JSオブジェクトをJSON文字列に変換する
-
[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
-
[解決済み] Chromeを使用してASP.NET Web APIがXMLの代わりにJSONを返すようにするにはどうすればよいですか?
-
[解決済み] PHPスクリプトからJSONを返す
-
[解決済み] ASP.NETでJSONを単純なDictionary<string,string>にデシリアライズするにはどうすればよいですか?
-
[解決済み] nodeやExpressを使用してJSONを返す正しい方法
-
[解決済み] ASP.NET MVCのビューを文字列としてレンダリングする方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Entity Framework Code Firstを使用して一意制約を設定することは可能ですか?
-
[解決済み] DI向けNinjectとUnityの比較【終了しました
-
[解決済み] Automapper のタイプマップ構成がない、またはサポートされていないマッピング - エラー
-
[解決済み] Chromeを使用してASP.NET Web APIがXMLの代わりにJSONを返すようにするにはどうすればよいですか?
-
[解決済み】ASP.NET RazorのHTML.ActionLinkとUrl.Actionの比較
-
[解決済み】Html.ActionLinkを使用して別のコントローラのアクションを呼び出す
-
[解決済み】AutoMapper.CreateMapsをどこに配置するか?
-
[解決済み] ASP.Net MVC デフォルトの HTTP ヘッダーを削除する方法は?
-
[解決済み] ASP.Net MVCでRequest on Controllerをモック化する方法とは?
-
[解決済み] 型名または名前空間名 'DbContext' が見つかりませんでした [閉鎖]。