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

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

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

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

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

1359閲覧

nullは必要なのか?

around30

総合スコア5

JSON

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

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/07/24 01:17

データベースの取得結果にnullがあるとき、それは戻すべきなのでしょうか?

例えば以下レコードを取得するとして、

$rows = array( array( "ID"=>1,"name"=>"鈴木","follow_date"=>null ), array( "ID"=>2,"name"=>"佐藤","follow_date"=>"2020-07-24 10:10" ) );

これをjsonでフロントに戻すとき、nullをそのままにしますか?それとも削除しますか?

$.ajax({ url : 'http://...', type: 'POST', data: data }) .done(function(rows) { console.log(rows); /* rows の結果 null をそのままにする [{"ID":1,"name":"鈴木","follow_date":null},{"ID":2,"name":"佐藤","follow_date":"2020-07-24 10:10"}] null を削除する [{"ID":1,"name":"鈴木"},{"ID":2,"name":"佐藤","follow_date":"2020-07-24 10:10"}] */

APIで受け取るときにnullがそのままあったりするので、それがなぜなのか疑問に思いました。

あると何か使える?
それとも一貫した方が見た目がいいとか?
または慣習的なもの?

そういった理由について何かご存じの方いらっしゃいますでしょうか?

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

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

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

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

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

guest

回答2

0

厳密にはnullと空文字("")は違います。
「その情報をどう使うか」は利用する側に委ねられます。
わざわざ消さなくても使わないなら使わないで良いのでは。

nullかどうかを判断して別の情報を出す(例えば何も入力がないことを表す記号など)というのは良くあることです。

投稿2020/07/24 01:49

m.ts10806

総合スコア80875

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

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

around30

2020/07/24 02:27

たしかに「nullならこうしたい」はありそうですね。ありがとうございました。
m.ts10806

2020/07/24 02:30

ただ、APIなのであれば作った人しか本来の意図が分かりません。
guest

0

ベストアンサー

m.ts10806 さんの回答に同意します。

ここでは、ご質問の中で削除されている follow_dateDATETIMEフィールド)について言及します。

JavaScriptで Date オブジェクトを生成して処理されることも多いのですが、以下のテストコードを実行してみます。

javascript

1var a = new Date(), b = new Date(null); 2console.log( a.toISOString(), b.toISOString() );
  • case a: 引数 が undefined だと 現在の日時。
  • case b: 引数 が null0 と解釈される) だと UNIXエポックの開始日時。

nullの場合、Dateオブジェクトを生成しても、固有値のため、未入力を判別しやすいように思います。
そう考えると、ご質問のケースでは、そのままでよいと考えます。

投稿2020/07/24 02:12

AkitoshiManabe

総合スコア5434

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

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

around30

2020/07/24 02:28

事例がわかりやすかったのでベストアンサーにさせて頂きました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問