ホームページ  >  記事  >  ウェブフロントエンド  >  bool型data_javascriptスキルを転送するJSONの処理方法の紹介

bool型data_javascriptスキルを転送するJSONの処理方法の紹介

WBOY
WBOYオリジナル
2016-05-16 17:22:101934ブラウズ

json を使用して ajax でデータを送信する場合、他のデータ型は問題ありませんが、サーバーによって生成された JSON 内に bool 型のデータがある場合、クライアントがそれを解析するときに小さな問題が発生します。 :

サーバーから返された JSON は次のとおりです:

コードをコピー コードは次のとおりです:

{"TypeID": [1037],"タイトル":"河北ソフトウェア職業技術学院","紹介":"","IsLink":"false","LinkUrl":"http: //www.hbsi.edu.cn","IsPic":"true","Picture":"/newsimages/hbsi.jpg","Content":"


"}

ここで、属性: IsLink と IsPic はどちらも bool 型です。クライアントでの使用方法:
コードをコピー コードは次のとおりです:

document.getElementById("checkbox1").checked = news.IsLink;

チェックボックスが選択されます。ですが、IsLInk は false なので選択すべきではありません。なぜでしょうか。

理由を確認してください。JavaScript には 3 つの基本データ型 (文字列、数値、ブール値)、2 つの参照データ型 (Object、Array)、および 2 つの特殊なデータ型 (Null、Unknown) があります。他の型を bool に変換する場合は、次の原則が適用されます。

データ型が bool に変換された後の値
null FALSE
未定義 FALSE
オブジェクト TRUE
関数 TRUE
0 FALSE
1 TRUE
0、1以外の数値 TRUE
文字列 TRUE
""(空文字列) FALSE

このとき、IsLinkはJSONの文字列「false」 」となりますので、変換後はbool型のtrueが得られます。

解決策:
コードをコピー コードは次のとおりです:

document .getElementById ("checkbox1").checked = news.IsLink=="true";
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。