- ベストアンサー
JSON形式で取得した8桁の数字を○○年にしたい
- 8桁の数字データを、○○年○○月○○日と変換して表示させたい方法について教えてください。
- 現在、手元にあるCSVデータから取得した8桁の数字データを、指定の形式で表示させたいです。
- JavaScriptでJSON形式のデータを配列に変換しており、その中の生年月日データを特定の形式で表示させたい方法を教えてください。
- みんなの回答 (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);
その他の回答 (4)
- babu_baboo
- ベストアンサー率51% (268/525)
alert ('20101118'.replace (/^([0-9]{4})([0-9]{2})([0-9]{2})$/, '$1年$2月$3日'));
お礼
こういう書き方もできるんですね。 この書き方、すごいと思いました。
- babu_baboo
- ベストアンサー率51% (268/525)
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));
お礼
回答ありがとうございます。 replaceって、正規表現も利用して書けるんですね。 初めて知りました。
- yyr446
- ベストアンサー率65% (870/1330)
「JSON形式で取得したデータを配列に変換」って意味は、 javasvriptオブジェクトに変換しているってことなのでしょうか? =>”JSON形式で取得したデータ”の段階では、dataは単なる長い文字列です。 var list = eval( '(' + data + ')' ); eval関数で中身の文字列を評価(ステートメントとして実行)して、 list(オブジェクト:配列)変数として格納という意味では それから、No.1で書いたsubtr()はブラウザーに依存します。 .substring(取得開始位置、取得終了位置) を使って下さい。 文字列は + 演算子で連結できます。
お礼
>それから、No.1で書いたsubtr()はブラウザーに依存します。 > .substring(取得開始位置、取得終了位置) >を使って下さい。 >文字列は + 演算子で連結できます。 ありがとうございます。 勉強になりました。
- yyr446
- ベストアンサー率65% (870/1330)
そんな難しい事考えなくても list.birth を2文字ずつ、substr()で取得して、 ”○○年○○月○○日” と連結したんじゃだめなの。
お礼
いや、それでいいです…
お礼
有益な情報、ありがとうございました!