【问题标题】:Null Pointer Exception when replacing character " with no text then casting value to Float用无文本替换字符“然后将值转换为浮点数时出现空指针异常
【发布时间】:2015-09-20 12:42:36
【问题描述】:

我正在编写一个通过 HTTP GET 方法获取 JSON 数据的 java 程序,并在我浏览对象树后返回以下内容:

{
"year":"2015",
"period":"M03",
"periodName":"March",
"value":"141178",
"footnotes":[{}]
}

现在我想取值并将其转换为浮点数,我尝试这样做:

JSONParser parser = new JSONParser();

try
{
    JSONObject
    BLSemployment = ( JSONObject ) parser.parse( _RDATA );
    BLSemployment =       ( ( JSONObject ) BLSemployment.get( "Results" ) );

    JSONArray
    BLSemploymentseries = ( ( JSONArray ) BLSemployment.get( "series" ) );

    BLSemployment =       ( ( JSONObject ) BLSemploymentseries.get( 0 ) );
    BLSemploymentseries = ( ( JSONArray ) BLSemployment.get( "data" ) );

    for( int i = 0; i < 12; i++ )
    {
        BLSemployment = ( (JSONObject) BLSemploymentseries.get( i ) );

        HistoricalNonFarmPayrollData[i] = Float.parseFloat( JSONValue.toJSONString( BLSemployment.get( "value" ) ).replace( "\"" , "" ) );
        HistoricalNonFarmPayrollYear[i] = JSONValue.toJSONString( BLSemployment.get( "year" ) );
        HistoricalNonFarmPayrollMonth[i] = JSONValue.toJSONString( BLSemployment.get( "periodName" ) );
    }
}
catch ( ParseException pe )
{
    System.out.println( pe );
}

但是现在我得到了错误:

Exception in thread "main" java.lang.NullPointerException
        at BLSFramework.getNonFarmPayrolls(playground.java:354)
        at playground.main(playground.java:27)

【问题讨论】:

  • 把一行分成几行,看看null是什么,或者使用调试器!
  • 这部分没看懂 HistoricalNonFarmPayrollData[i] = Float.parseFloat( JSONValue.toJSONString( BLSemployment.get( "value" ) ).replace( "\"" , "" ) ); BLSemployment.get("value") 似乎已经返回字符串。不应该是?HistoricalNonFarmPayrollData[i] = Float.parseFloat(BLSemployment.get("value"));
  • 你没有放抛出异常的代码。你也应该发布。

标签: java json http get getjson


【解决方案1】:

已解决:BLS 网站偶尔会在一段时间内不发送数据,而我在那段时间正在编码。

【讨论】:

    猜你喜欢
    • 2012-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多