Android 如何将json值存储到数组中
我使用JSON完美地从web接收数据,但我想使用存储在数据库中的经度和纬度,然后在Android 如何将json值存储到数组中,android,google-maps,Android,Google Maps,我使用JSON完美地从web接收数据,但我想使用存储在数据库中的经度和纬度,然后在MapActivty中使用,因此我想将所有值存储在一个简单的数组中,以便在MapActivity中使用 ServiceHandler serviceClient = new ServiceHandler(); Log.d("url: ", "> " + URL_ITEMS); String json = serviceClient.makeSer
MapActivty
中使用,因此我想将所有值存储在一个简单的数组中,以便在MapActivity中使用
ServiceHandler serviceClient = new ServiceHandler();
Log.d("url: ", "> " + URL_ITEMS);
String json = serviceClient.makeServiceCall(URL_ITEMS,ServiceHandler.GET);
// print the json response in the log
Log.d("Get match fixture resps","> " + json);
if (json != null) {
try {
Log.d("try", "in the try");
JSONObject jsonObj = new JSONObject(json);
Log.d("jsonObject", "new json Object");
// Getting JSON Array node
matchFixture = jsonObj.getJSONArray(TAG_FIXTURE);
Log.d("json aray", "user point array");
int len = matchFixture.length();
Log.d("len", "get array length");
for (int i = 0; i < matchFixture.length(); i++) {
JSONObject c = matchFixture.getJSONObject(i);
String matchId = c.getString(TAG_MATCHID);
Log.d("matchId", matchId);
String teamA = c.getString(TAG_TEAMA);
Log.d("teamA", teamA);
String teamB = c.getString(TAG_TEAMB);
Log.d("teamB", teamB);`
ServiceHandler-serviceClient=newservicehandler();
Log.d(“url:”,“>”+url\u项);
字符串json=serviceClient.makeServiceCall(URL\u项,ServiceHandler.GET);
//在日志中打印json响应
Log.d(“获取匹配夹具响应”,“>”+json);
if(json!=null){
试一试{
Log.d(“尝试”、“在尝试中”);
JSONObject jsonObj=新的JSONObject(json);
d(“jsonObject”,“新json对象”);
//获取JSON数组节点
matchFixture=jsonObj.getJSONArray(TAG_FIXTURE);
Log.d(“json aray”,“用户点数组”);
int len=matchFixture.length();
Log.d(“len”,“获取数组长度”);
对于(int i=0;i
我建议使用GSON或Jackson从Java/JSON转换回for
GSON-基于现有答案
您可能想签出:看看它们是如何协同工作的。您能提供您的JSON结构示例吗?我在数组中获得了数据,先生,我如何将这些数据发送到MapActivity
arrayFromJson = gson.fromJson(json, new TypeToken<List<Pair<Float,Float>>(){}.getType());
arrayFromJson = gson.fromJson(json, new TypeToken<List<LatLng>(){}.getType());
for (LatLng latlng: arrayFromJSON) {
Marker marker = mMap.addMarker(new MarkerOptions()
.position(latlng)
.draggable(true));
}