HashMap zwraca null

0

Nie mam pojęcia dlaczego this.m_tankNamesHashMap.get(1) zwraca null, a powinien ABC

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class TankNames {
	
	private Map<Long, String> m_tankNamesHashMap = new HashMap<Long, String>();
	
	@SuppressWarnings("rawtypes")
	TankNames() {
		
		String n = "{ \"status\": \"ok\", \"meta\": { \"count\": 1 }, \"data\": { \"1\": { \"short_name\": \"T-34\", \"tank_id\": 1 } } }";
		
		JSONParser parserJson = new JSONParser();
		try {
			Object obj = parserJson.parse(n);
			JSONObject jsonObj = (JSONObject) obj;
			
			//get Status: by String
			String jsonText = (String) jsonObj.get("status");
			System.out.println(jsonText);
			
			//get data: by Object
			JSONObject jsonObjData = (JSONObject) jsonObj.get("data");
			
			//get keys from data
			for(Iterator objects = jsonObjData.keySet().iterator(); objects.hasNext();) {
			    String key = (String) objects.next(); //key
	
			    Object obj2 = parserJson.parse(jsonObjData.get(key).toString());
				JSONObject jsonObj2 = (JSONObject) obj2;
				
				
				this.m_tankNamesHashMap.put((Long)jsonObj2.get("tank_id"), jsonObj2.get("short_name").toString());
			}
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
				System.out.println(this.m_tankNamesHashMap.get(1)); //Dlaczego zwraca null?
	}
}
{
	"status": "ok",
	"meta": {
		"count": 1
	},
	"data": {
		"1": {
			"short_name": "ABC",
			"tank_id": 1
		}
	}
}

Użyta biblioteka json-simple-1.1.1.jar

Co źle robię?

1

wrzucasz longa a pobierasz dla inta, zrob

 System.out.println(this.m_tankNamesHashMap.get(1L)); 
0

No tak ;)

Dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1