• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JSON形式で取得した8桁の数字を○○年にしたい)

JSON形式で取得した8桁の数字を○○年にしたい

このQ&Aのポイント
  • 8桁の数字データを、○○年○○月○○日と変換して表示させたい方法について教えてください。
  • 現在、手元にあるCSVデータから取得した8桁の数字データを、指定の形式で表示させたいです。
  • JavaScriptでJSON形式のデータを配列に変換しており、その中の生年月日データを特定の形式で表示させたい方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.5

No1,No2です。 // JSON形式で取得したデータを配列に変換 var list = eval( '(' + data + ')' ); の変わりに、 javascript 1.8.1 でJSONが直接使えるようになっってる ので新しいブラウザ(IEだとIE8以降..)だと、  var data = '{birth:19611225}';  var list = JSON.parse(data); と出来る。 (参考) https://developer.mozilla.org/En/Using_native_JSON 逆にJSON型式の文字列にを作るのは  var list = {birth:19611225};  var data = JSON.stringify(list);

re999
質問者

お礼

有益な情報、ありがとうございました!

その他の回答 (4)

回答No.4

alert ('20101118'.replace (/^([0-9]{4})([0-9]{2})([0-9]{2})$/, '$1年$2月$3日'));

re999
質問者

お礼

こういう書き方もできるんですね。 この書き方、すごいと思いました。

回答No.3

var a = function (a,b,c,d) { return b +'年' + c + '月' + d + '日';}; var r = /^([0-9]{4})([0-9]{2})([0-9]{2})$/; var date = '20101118'; alert (date.replace (r, a));

re999
質問者

お礼

回答ありがとうございます。 replaceって、正規表現も利用して書けるんですね。 初めて知りました。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

「JSON形式で取得したデータを配列に変換」って意味は、 javasvriptオブジェクトに変換しているってことなのでしょうか? =>”JSON形式で取得したデータ”の段階では、dataは単なる長い文字列です。 var list = eval( '(' + data + ')' ); eval関数で中身の文字列を評価(ステートメントとして実行)して、 list(オブジェクト:配列)変数として格納という意味では それから、No.1で書いたsubtr()はブラウザーに依存します。  .substring(取得開始位置、取得終了位置) を使って下さい。 文字列は + 演算子で連結できます。

re999
質問者

お礼

>それから、No.1で書いたsubtr()はブラウザーに依存します。 > .substring(取得開始位置、取得終了位置) >を使って下さい。 >文字列は + 演算子で連結できます。 ありがとうございます。 勉強になりました。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

そんな難しい事考えなくても list.birth を2文字ずつ、substr()で取得して、 ”○○年○○月○○日” と連結したんじゃだめなの。

re999
質問者

お礼

いや、それでいいです…

関連するQ&A