-1

JSONファイルがあります。次に、キーワードに基づいてクエリを実行し、配列に保存します。問題は、値が空、null、または文字列になる可能性があることです。したがって、私のコードには例外があります:

NumberFormatException: 入力文字列の場合: java.lang.Float.parseFloat(不明なソース) で sun.misc.FloatingDecimal.readJavaFormatString(不明なソース) で「null」

これが私のコードです:

for(int i=0, size=jsonStr.length; i<size; i++){

    if(jsonStr[i]==null){
        System.out.println("It's null");
    }else if(jsonStr[i].isEmpty()){
        System.out.println("It is empty!");
    }else if(Float.parseFloat(jsonStr[i])>=0){
        result[j]=jsonStr[i];
    }else{
      collect[j]=jsonStr[i];
    }


}

回避方法を聞いてもいいですか?jsonStr の値は、""、null、または文字列 (float に変換可能) のいずれかです。

ありがとうございました

4

2 に答える 2

2

Float.parseFloat("null")投げNumberFormatException: for input string: "null"ます。

したがって、json{"str" : "null"}{"str" : null}.
この場合、使用する必要があります"null".equals(...)

if(jsonStr[i]==null || "null".equals(jsonStr[i]))
{
   System.out.println("It's null");
}
else if(jsonStr[i].isEmpty())
{
   System.out.println("It is empty!");
}
于 2013-10-02T20:16:25.000 に答える