0

そこに日付を含むjson配列を作成しています。

$result[] = array('startDate' => date("D M j G:i:s T Y"),
                            'endDate' => date("D M j G:i:s T Y"),
                            'title' => $event->title,
                            'description'=>$event->summary,
                            'priority'=>2);

私が得る結果は次のとおりです。

 {
startDate: "Wed Nov 21 0:55:44 UTC 2012",
endDate: "Wed Nov 21 0:55:44 UTC 2012",
title: "title",
description: "desc",
priority: 2
}

しかし、日付を文字列として引用したくありません。必要なのは次のとおりです。

 {
startDate: Wed Nov 21 0:55:44 UTC 2012,
endDate: Wed Nov 21 0:55:44 UTC 2012,
title: "title",
description: "desc",
priority: 2
}

では、日付を文字列として扱わない方法はありますか?

4

1 に答える 1

3

JSONにはDATE値はありません。JSONで許可される唯一の「値」構成は次のとおりです。

  • オブジェクト
  • 配列
  • 二重引用符で囲まれた文字列
  • 数値(整数または浮動小数点数)
  • ブール値(trueまたはfalse引用符なし)
  • null

したがって、求めているのはJSON形式ではありません。独自のJSONのようなシリアライザーを構築するか、json_encode実行後に文字列を変更して二重引用符を削除する必要があります。

または、JSONをそのままにして、javascriptを使用して文字列を解析してjavascriptDateオブジェクトにすることもできます。これは、そのライブラリへの意図された入力のように見えます。

文字列をJavaScriptでDateオブジェクトに解析する方法については、この投稿を参照してください。

Date(dateString)とnew Date(dateString)の違い

注:現在使用しているものは一般的に受け入れられているJavaScriptdateString形式ではないため、日付形式を変更する必要があります。

于 2012-11-21T01:31:10.203 に答える