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

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

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

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

Q&A

解決済

2回答

1505閲覧

jsonオブジェクトを使ったサーバとの通信

imamoto_browser

総合スコア1161

JavaScript

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

0グッド

0クリップ

投稿2015/05/10 10:55

編集2015/05/10 11:36

json文字列をjsonオブジェクトにして、サーバと通信するというブログをみたのですが、わざわざjsonオブジェクトにするのはなぜでしょうか。json文字列のままでは通信できないのでしょうか。

追記:
回答ありがとうございます。C#の場合で解説いただいてますが、phpやjavascriptの場合だとどうですか?phpだとDTOで通信することがありますが、連想配列でやるより便利な場合はどんな場合ですか?

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

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

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

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

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

guest

回答2

0

ベストアンサー

phpだとDTOで通信することがありますが、連想配列でやるより便利な場合はどんな場合ですか?

PHPではシリアライズ、デシリアライズとは言わないようで、
どうやら、JSONエンコード、デコードと言うようです。

その際に連動配列へデコードするのか、DTOへデコードするのかは任意であり、
その時点でJSON文字列ではありません。
デコードした結果が連想配列なのかDTOなのかという話になります。
※件のブログで触れている内容とは別の問題ですね。

さて、連想配列とDTOのどちらが良いかについては別の問題として挙げられたほうが宜しい気もします。(宗教戦争になりそうな気もする)
私はPHPに疎いですが、PHPは型付けが弱いイメージなので連想配列で良いんじゃないの?とは個人的に思ってます。

投稿2015/05/10 11:45

編集2015/05/10 11:50
Tak1wa

総合スコア4791

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

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

0

こんにちは。
通信上はJSON文字列だと思います。

シリアライズされたJSON文字列をクライアントまたはサーバのプログラムから使用する場合に
JSONオブジェクトに変換してから使用するという意図ではないのですか?

そのブログを見てみないと何とも言えないのですが…

投稿2015/05/10 11:01

Tak1wa

総合スコア4791

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

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

imamoto_browser

2015/05/10 11:06

>シリアライズされたJSON文字列をクライアントまたはサーバのプログラムから使用する場合に >JSONオブジェクトに変換してから使用するという意図ではないのですか? そのとおりです。他の言語にもシリアライズという言葉はありますが、シリアライズしないとなぜサーバ上のプログラムでデータを扱えないのでしょうか。 下記ブログです。 http://www.yoheim.net/blog.php?q=20120903
Tak1wa

2015/05/10 11:13

サーバプログラムが例えばC#の場合、データを示すオブジェクトはクラスで表現されます。 通信上は「クラスを送信する」ということは出来ないのでシリアライズして文字列として送信します。なのでまず、通信上はシリアライズする必要がありますね。 サーバまたはクライアントでシリアライズされたJSON文字列を受け取るわけですが、その際に元のオブジェクトでデシリアライズするかどうかは任意です。 JSON文字列を自分で解析し使用しても良いと思います(ただし一般的ではない) プログラム上で扱いにくいのでオブジェクトでデシリアライズするのが一般的なだけかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問