Js中JSON.parse関数解析によるデータ異常


Js中JSON.parse関数解析によるデータ異常
今日、プロジェクトで問題が発生しました.スキャン機能でスキャンしたバーコードをフロントエンドに戻します.フロントエンドの学生が戻ってきたバーコードが正しくありません.後ろの2人とソースデータが合わないので、Androidだけがこの問題があります.Androidだけがこの問題があれば、Android側で調べることができます.最終的にAndroidがフロントエンドに返すデータに問題があるのか、なぜフロントエンドでエラーが発生したのか.フロントエンドの学生の呼び出し方法も大丈夫ですか?いったいどこが间违っているのか、logを通じてデータがJSON.parse()関数を経てデータが変化したことを発见して、自分で例を书いて西のコードを见ます

var num="123456789987654333";

var parse=JSON.parse(num);

123456789987654340

确かに元のデータと合わないので、资料を探してテストしたところ、データが16ビットを超えると间违いが発生することがわかりました.JSON.parse()方法はJSON文字列を解析するために使われています.前にも他のjson文字列を解析したことがありますが、このような问题はありません.
var obj= '{"result":true, "count":42}';

var res=JSON.parse(obj)

res
{result: true, count: 42}

これも大丈夫です.では、どうして上のほうに問題がありますか.資料の検索を経て、json文字列の内容と関係があるかもしれないことを知った.
var num="123456789987654333";

var res=JSON.parse(num)

typeof res
"number"

出力logは解析が終わった後に確かにnumタイプであることを表示して、それではこれはどのように解決して、var num="123456789987654333";関数を解析する時に中がnumタイプだと思わないようにすればいいでしょう、それではどのようにして次のテストを見ます:
var num=" \"123456789987654333 \" ";

var res=JSON.parse(num)

typeof res
"string"

res
"123456789987654333 "

以上の資料の照会とテストに基づいて、プロジェクトに適用して本当に問題が解決します.