質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

5083閲覧

C# JSON文字列の受信方法について

niconicodryyy

総合スコア36

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/05/14 07:52

編集2020/05/14 07:54

C#でJSONデータをオブジェクト型ではなく、文字列型で受け取りたいです。

C#

1 /// </summary> 2 [RoutePrefix("api")] 3 public class testController : ApiController 4 { 5 6 private CheckResultService checkResultService; //ここまで読み込まれるます。 7   8 9    [HttpPost] 10 [Route("test")] 11 public IHttpActionResult Post([FromBody] Testobject jdate) 12 { 13 try 14 { 15 checkResultService = new CheckResultService(); 16 } 17 catch (Exception e) 18 { 19 return CreateInternalServerError(ErrorCode.GetError, e); 20 } 21 22     public class Testobject 23 { 24 public Root Root { get; set; } 25 } 26 27 public class Root 28 { 29 public string name{ get; set; } 30 public string age{ get; set; } 31 public string group { get; set; } 32 } 33 34 } 35} 36

JSONデータ

1オブジェクト型 2{ 3 "Root":{ 4 "name": "Taro", 5 "age": "21", 6   "group": "AA" 7 } 8} 9 10文字列型 11 { 12 "name": "Taro", 13 "age": "21", 14   "group": "AA" 15 } 16

上記のようなコードを書きました。
受け取った際の具体的な処理は量が多くいなるので、記述しておりません。受け取ったJSONを元にデータベースからデータを探してくる処理を作成しています。
javaScriptでJSONデータをオブジェクト型で送信すると全て読み込まれ、データが返ってきますが、
JSONデータを文字列で送信するとコードに記述したところまでは読み込まれますが、そのあとが読み込まれません。どのようにすればJSONの文字列を受け入れられるようにできるのでしょうか。
文字列型にはRootが含まれていないので、オブジェクトが読み込まれずに下の処理に行かずエラーを返すのでしょうか。
また、WEBサーバの学習を最近始めたばかりなので、理解できていない部分が多々ありますので、わJSONデータ、HTTP通信についてかりやすいリファレンス等がありましたら一緒に教えて頂けると、ありがたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/05/14 10:23 編集

何を作っているかと開発環境ぐらいは書きませんか? なんとなく ASP.NET Web API のように思えますが質問に明記してください。Visual Studio のバージョン、Core か .NET のどちらなのかとそのバージョンぐらいは最低限書いてください。
退会済みユーザー

退会済みユーザー

2020/05/14 10:24

ASP.NET の話なら ASP.NET のタグをつけてください。
BluOxy

2020/05/14 14:31

文字列で受け取りたいなら [FromBody]string jdate で良いのではないでしょうか
niconicodryyy

2020/05/17 23:14

体調を崩しており、返信が遅れてしまいました。申し訳ございません。 自身がHTTP通信について理解が少ないので、質問の意味も分かりにくい中、回答ありがとういございます。 SurferOnWwwさん、BluOxyさんの回答為になりました。参考にさせていただきます。
guest

回答1

0

ベストアンサー

質問のコメントに返事がなく、質問者さんはもう去って行ってしまったのかもしれませんが・・・

.NET Framework ベースの(Core ではなく)ASP.NET Web API 2 の話と想像してレスしておきます。

C#でJSONデータをオブジェクト型ではなく、文字列型で受け取りたいです。

以下の記事が参考になりませんか?

ASP.NET Web API のバインディング
http://surferonwww.info/BlogEngine/post/2018/09/11/aspnet-web-api-parameter-binding.aspx

アクションメソッドの Put(int id, [FromBody] string name) 、それに string 型のデータを送信する JavaScript / jQuery のメソッド function apiHeroesPut5()、それに記事の下の方にある説明に注目してください。

投稿2020/05/15 01:21

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問