タグ

JavaScriptとJSONに関するiwwのブックマーク (9)

  • JSON.stringify() - JavaScript | MDN

    JSON.stringify() は値をそれを表す JSON 表記に変換します。値は以下のように変換されます。 Boolean、 Number、 String、および (Object() により得られる) BigInt の各オブジェクトは、文字列化の際に慣習的な変換セマンティクスに従い、対応するプリミティブ値に変換されます。(Object() により得られる) Symbol のオブジェクトは、プレーンオブジェクトとして扱われます。 BigInt の値を文字列化しようとすると、例外が発生します。しかし、BigInt が (モンキーパッチ BigInt.prototype.toJSON = ... により) toJSON() メソッドを持っている場合、このメソッドにより文字列化できます。この制約により、適切な文字列化の方法(そして、ほとんどの場合、対応する逆変換の方法)が常にユーザーによって明

    JSON.stringify() - JavaScript | MDN
  • [Node.js] JSONをキレイに整形して出力する - ねこの足跡R

    小ネタです。 結論から言うと、JSON.stringify()の第2引数にnull、第3引数に数値を指定することで人間がパッと見て分かるよう整形した文字列が返されます。 const data = [ { "season": "202004", "title": "乙女ゲームの破滅フラグしかない悪役令嬢に転生してしまった…", "company": "SILVER LINK." }, ] // 機械に優しい const str1 = JSON.stringify(data); console.log(str1) // 人間に優しい const str2 = JSON.stringify(data, null, 2); console.log(str2) 実際に実行すると以下の通り。str1は直接プログラムから読み込むのに適しています。通常RESTfulAPIなどに渡す場合はこちらを利用します

    [Node.js] JSONをキレイに整形して出力する - ねこの足跡R
  • オブジェクトのクローンにJSON化を使う時代は終わった!【JavaScript】 - Qiita

    const obj = { hoge: [new Date(2023, 3, 12), 1], fuga: 'foo' }; const objClone = structuredClone(obj); // ディープコピー obj.hoge[1] = 10; console.log(objClone.hoge[1]); // 1 objClone.hoge[0].setFullYear(2050); console.log(obj.hoge[0].getFullYear()); // 2023

    オブジェクトのクローンにJSON化を使う時代は終わった!【JavaScript】 - Qiita
  • Object.keys() - JavaScript | MDN

    // 単純な配列 const arr = ["a", "b", "c"]; console.log(Object.keys(arr)); // ['0', '1', '2'] // オブジェクトのような配列 const obj = { 0: "a", 1: "b", 2: "c" }; console.log(Object.keys(obj)); // ['0', '1', '2'] // キーの順序がランダムなオブジェクトのような配列 const anObj = { 100: "a", 2: "b", 7: "c" }; console.log(Object.keys(anObj)); // ['2', '7', '100'] // getFoo は列挙可能ではないプロパティ const myObj = Object.create( {}, { getFoo: { value() { r

    Object.keys() - JavaScript | MDN
    iww
    iww 2020/09/29
    キーの一覧取得
  • JSON にもコメントを書きたい - Qiita

    JSON の構文は至ってシンプルです。 JSON は名前(キー)と値のペアがセットになった「オブジェクト」から構成されています。 キーはダブルクォートでくくられた文字列です。 値はダブルクォートでくくられた文字列、数値、真偽値、null 値、配列、またはオブジェクトです。 キーと値はコロン( : )で区切ります。 ペアとペアの間はカンマ( , )で区切ります。 前後を中括弧( { , })で挟みます。 { "文字列": "文字列", "数値": 0, "真偽値": true, "null値": null, "配列": [ "要素1", "要素2" ], "オブジェクト": { "キー": "値" } } そう、JSON にはコメントを記載するための構文がないのです。近年では設定ファイルなどで利用されることも多い JSON ですが、コメントによる説明が不要なキーを名付けることは現実的ではあり

    JSON にもコメントを書きたい - Qiita
    iww
    iww 2020/02/17
    『実は JSON は YAML のサブセットです。』
  • javascriptでJSONデータを扱う(登録・参照・更新・削除) - Qiita

    はじめに こんにちは。 javascriptでJSONデータをゴニョゴニョする方法を調べていたのですが、いまいちピンとくる資料がなかったので、自分が理解した範囲でまとめてみました。誰かの参考になれば幸いです。 また、こう書いた方が速い/キレイ/正しい等あれば教えて頂けると嬉しいです。よろしくお願いします。 前提 記事によって「オブジェクト型で格納されたJSONデータ」と 「配列型で格納されたJSONデータ」が混在している上に、 それが明記されていないせいで分かりにくいことがありました。 この記事で取り扱うのは、 「オブジェクトの配列として格納されたJSONデータ」 です。以下がサンプル。 var data = [ { name : "taro", exam : { math : 100, lang : 100 }, grade : "a" }, { name : "jiro", exam

    javascriptでJSONデータを扱う(登録・参照・更新・削除) - Qiita
  • JSONをvbscriptとして読み込ませるJSONハイジャック(CVE-2013-1297)に注意

    はせがわようすけ氏のブログエントリ「機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき」にて、巧妙な罠を仕掛けることにより、別ドメインのJSONデータをvbscriptとして読み込み、エラーハンドラ経由で機密情報を盗み出すという手法が紹介されました。これは、IEの脆弱性CVE-2013-1297を悪用したもので、MS13-037にて解消されていますが、MS13-037はIE6~IE8が対象であり、IE9以降では解消されていません。 また、MS13-037を適用いていないIE6~IE8の利用者もしばらく残ると考えられることから、この問題を詳しく説明致します。サイト側の対策の参考にして下さい。 問題の概要 JSON形式のデータは、通常はXMLHttpRequestオブジェクトにより読み出しますが、攻撃者が罠サイトを作成して、vbscript

    JSONをvbscriptとして読み込ませるJSONハイジャック(CVE-2013-1297)に注意
  • JavaScriptの「ケツカンマ問題」まとめ · DQNEO日記

    なぜIE6,7(とIE8の配列)ではケツカンマが正しく動かないのか 結論からいうと、「それがJScriptの仕様である」ということになるかと思います。 後述のとおりECMAScript3の仕様書はケツカンマなしなので、IE(=Jscript)がそのような仕様になっていても間違いではないということになります。 ひとつだけ納得がいかないのは、IE(=Jscript)は配列ケツカンマとオブジェクトケツカンマで挙動が異なるのです。 var list = ['a' , 'b', ]; // → 要素3個のarrayが生成される。 var obj = { a : 1, b : 2, }; // → 文法エラー この仕様はなんか中途半端な気がします。 ECMAScriptの仕様はどうなっているのか ECMAScript3 Standard ECMA-262 3rd Edition-December199

  • Json Parser Online

    Analyze your JSON string as you type with an online Javascript parser, featuring tree view and syntax highlighting. Processing is done locally: no data send to server.

  • 1