2011-10-31 6 views
0

JavaScriptObjectの配列を取得できましたが、オブジェクトのフィールドに空の文字列が含まれることがあります。オーバーレイタイプを使用してJSONデータの空の文字列を処理する方法

私のオーバーレイタイプの私のメソッドは、これらと似ています。

//JSNI methods to get stock data. 
public final native double getPrice() /*-{ return this.price; }-*/; 
public final native double getChange() /*-{ return this.change; }-*/; 

フィールドが実際には2倍の場合、JavaScriptObjectはそれを返します。

JavaScriptObjectで空の文字列フィールドがあるときにgetPrice()を呼び出すと、例外が発生します。

どのようにしてこれを処理する必要がありますか?

例データ: { "年":1881、 "年次平均":-0.2、 "5年平均": "" }、{ "年":1882、 「年次平均":-0.26、 "5年平均":-0.27 }、

注:私のプログラムのこの部分は

http://code.google.com/webtoolkit/doc/latest/tutorial/JSON.html http://code.google.com/webtoolkit/に大きく基づいていますdoc/latest/tutorial/Xsite.ht ml

答えて

0

まあ、それが空の文字列""なら、doubleのタイプには変換できません。 JSON値を""とした場合、getXXX()メソッドから返りたいものを決めるのはあなた次第ですが、0を返すと仮定しましょう。次にgetterは次のようになります:

public final native double getPrice() /*-{ return this.price === "" ? 0 : this.price; }-*/; 
+1

空の文字列はブーリアンに変換されたときにfalseと評価されるため、 'return this.price || 0'も使用できます。 –

関連する問題