Android:如何从此 json 获取 JSON 对象键:
Posted
技术标签:
【中文标题】Android:如何从此 json 获取 JSON 对象键:【英文标题】:Android: How to get JSON object keys from this json: 【发布时间】:2016-09-16 07:45:32 【问题描述】:这是 JSON 数组:
"server_response": [
"Total": "135",
"Paid": "105",
"Rest": "30"
]
那么,我怎样才能获得对象名称?我想把它们放在单独的 TextView 中。 谢谢。
【问题讨论】:
哪些名字?? “总计”和所有 ?? 看看这个tutorialspoint.com/android/android_json_parser.htm @jankigadhiya 我想要所有 【参考方案1】:把它放在一切之外。我的意思是在onCreate()
之外。
private <T> Iterable<T> iterate(final Iterator<T> i)
return new Iterable<T>()
@Override
public Iterator<T> iterator()
return i;
;
用于获取对象的名称:
try
JSONObject jsonObject = new JSONObject("" +"\"server_response\": [" +"\"Total\": \"135\"," +"\"Paid\": \"105\"," +"\"Rest\": \"30\"" +"]"+"";);
JSONArray jsonArray = jsonObject.getJSONArray("server_response");
JSONObject object = jsonArray.getJSONObject(0);
for (String key : iterate(object.keys()))
// here key will be containing your OBJECT NAME YOU CAN SET IT IN TEXTVIEW.
Toast.makeText(HomeActivity.this, ""+key, Toast.LENGTH_SHORT).show();
catch (JSONException e)
e.printStackTrace();
希望这会有所帮助:)
【讨论】:
谢谢!这就是我想要的:) 还有一件事,我如何在不同的文本视图中设置键? 给我TextViews的名字。【参考方案2】:JSONObject jsonObject = new JSONObject("Your JSON");
int Total = jsonObject.getJSONArray("server_response").getJSONObject(0).getInt("Total");
int Paid = jsonObject.getJSONArray("server_response").getJSONObject(0).getInt("Paid");
int Rest = jsonObject.getJSONArray("server_response").getJSONObject(0).getInt("Rest");
【讨论】:
【参考方案3】:您可以使用jackson
ObjectMapper
来执行此操作。
public class ServerResponse
@JsonProperty("Total")
private String total;
@JsonProperty("Paid")
private String paid;
@JsonProperty("Rest")
private String rest;
//getters and setters
//toString()
//Now convert json into ServerResponse object
ObjectMapper mapper = new ObjectMapper();
TypeReference<ServerResponse> serverResponse = new TypeReference<ServerResponse>() ;
Object object = mapper.readValue(jsonString, serverResponse);
if (object instanceof ServerResponse)
return (ServerResponse) object;
【讨论】:
【参考方案4】:我的建议:
访问这个网站: Json to pojo
获取您的 pojo 类,然后在 Android 中使用它们。 您需要做的就是使用 Gson.fromGson(params here)。 您的参数之一是您使用在线模式创建的类。
【讨论】:
以上是关于Android:如何从此 json 获取 JSON 对象键:的主要内容,如果未能解决你的问题,请参考以下文章