タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

JavaScriptとjavascriptとJSONに関するklim0824のブックマーク (3)

  • JSONとBigInt

    ちょっと前にblueskyで見かけた話題。もとは「GraphQLのスキーマではintが32ビットしかなくて、64ビット整数とかないのがイケてない」といった話だったかなと思う。直感的にはこれは「Javascriptではすべてが倍精度浮動小数点数だから64bit intがないから」ということになるが、よくよく調べてみるといろいろややこしい歴史的事情があるようだ。 たしかにJSにはもともとひとつのNumber型しかなく、いわゆるdouble型(倍精度浮動小数点)だけで数値を表現してきた。IEEE754の倍精度浮動小数点数は仮数部が52ビットあるので、実際には32ビット整数ていどであれば全て誤差なく表現できる。なので32ビット整数または倍精度浮動小数点数がどちらも使えるというふうに理解されてきた。 そうはいっても不便なので、現代のJSにはBigIntがある。ES2020で導入されたらしい。ただし普

    JSONとBigInt
  • PHPからJavaScriptにデータを受け渡すときに考えること - Qiita

    PHPのstringは任意のバイト列を扱えますが、JavaScript/JSONはUnicodeで扱える文字しか扱えません PHPのint / floatはプラットフォーム依存ですが、JavaScriptのnumberは整数と小数を型レベルで区別しません JSONのarrayに対応する型はPHPのarrayのうちリストであるものです PHPは配列(リスト)と連想配列を型レベルで区別せず、どちらもarrayです リストはキーが0からの抜けがない連番になっている要素が0個以上の配列です array_is_list()関数で連想配列とリストを判別できます array_values()で連想配列をリストに変換できます array_filter()の結果はフィルタされたキーがスキップされるのでリストではありませんが、結果をarray_values()に通すことでリストにできます JsonSerial

    PHPからJavaScriptにデータを受け渡すときに考えること - Qiita
  • [小ネタ]Javascriptで大きい桁の整数をJSONパースする時の注意点 | DevelopersIO

    JavascriptでJSONにパースしたいデータに大きい桁の整数があった場合は注意が必要です。 16桁を超えた数値を含む場合、超えた桁数分端数が丸め処理されてしまいます。 その場合、json-bigintを使って回避できます。 例 JSONとして解析する文字列 const jsonStr = '{"id": 6476060033855273896}'; Javascript標準ビルトインのJSON.parseでパースすると以下のようなデータになります。 JSON.parse(jsonStr); > { id: 6476060033855274000 } // (_□_;)!! 桁はそのままですが数値が変わってしまいました。エラーは出ていません。 json-bigintを使うと、 const JSONbig = require('json-bigint'); const jsonStr =

    [小ネタ]Javascriptで大きい桁の整数をJSONパースする時の注意点 | DevelopersIO
  • 1