1
Я пишу Java программу с получением данных в формате JSON через HTTP GET методы и возвращает следующее после того, как перемещаться по дереву объектов:Исключения нулевого указателя при замене символа "без текста затем литья значения Float
{
"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» или используйте отладчик! – MalaKa
Я не понимаю эту часть HistoricalNonFarmPayrollData [я] = Float.parseFloat (JSONValue.toJSONString (BLSemployment.get ("значение")) .Надеть ("\"», "")); BLSemployment.get («значение»), похоже, возвращает уже строку. Не должно быть? HistoricalNonFarmPayrollData [i] = Float.parseFloat (BLSemployment.get («value»)); –
вы не поместили код, который выдает исключение. должен также опубликовать это сообщение. – iullianr