JSON 解析为 Java - Android 应用程序 [英] JSON parsing to Java - Android application
问题描述
我需要在 Java Android 应用程序中解析 json 字符串方面的帮助.
I need help with parsing json string in Java Android Appl.
JSON 文件的文本:
Text of JSON file:
{"data":{"columns":["location_id","name","description","latitude","longitude","error","type","type_id","icon_media_id","item_qty","hidden","force_view"],"rows":[[2,"Editor","",43.076014654537,-89.399642451567,25,"Npc",1,0,1,"0","0"],[3,"Dow Recruiter","",43.07550842555,-89.399381822662,25,"Npc",2,0,1,"0","0"] [4,"Protestor","",43.074933,-89.400438,25,"Npc",3,0,1,"0","0"],[5,"State Legislator","",43.074868061524,-89.402136196317,25,"Npc",4,0,1,"0","0"],[6,"Marchers Bascom","",43.075296413877,-89.403374183615,25,"Node",22,0,1,"0","0"] [7,"Mary","",43.074997865584,-89.404967573966,25,"Npc",7,0,1,"0","0"]]},"returnCode":0,"returnCodeDescription":null}
如何获取值:location_id、名称、纬度、经度.谢谢,迈克尔.
How can get values: location_id, name, latitude, longitude. Thanks, Michal.
推荐答案
使用手动解析你可以这样实现:
Using manual parsing you can implement it like this:
JSONArray pages = new JSONArray(jsonString);
for (int i = 0; i < pages.length(); ++i) {
JSONObject rec = pages.getJSONObject(i);
JSONObject jsonPage =rec.getJSONObject("page");
String address = jsonPage.getString("url");
String name = jsonPage.getString("name");
String status = jsonPage.getString("status");
}
在您的情况下,请注意您的外部元素数据是 JSONObject 类型,然后您有一个 JSONArray
in your case note that your outer elemnt data is type of JSONObject and then you have a JSONArray
我的json文件:
[{"page":{"created_at":"2011-07-04T12:01:00Z","id":1,"name":"Unknown Page","ping_at":"2011-07-04T12:06:00Z","status":"up","updated_at":"2011-07-04T12:01:00Z","url":"http://www.iana.org/domains/example/","user_id":2}},{"page":{"created_at":"2011-07-04T12:01:03Z","id":3,"name":"Down Page","ping_at":"2011-07-04T12:06:03Z","status":"up","updated_at":"2011-07-04T12:01:03Z","url":"http://www.iana.org/domains/example/","user_id":2}}]
注意,我的从 [ 开始,这意味着一个数组,但你的从 { 开始,然后你有 [ 数组.如果您使用调试器运行它,您可以准确地看到 json 对象中的内容.
note that mine starts from [, which means an array, but yours from { and then you have [ array inside. If you run it with a debugger, you can see exactly what´s inside your json objects.
还有更好的方法,例如:
- 杰克逊
- Jackson-JR(轻量级杰克逊)
- GSON
- Jackson
- Jackson-JR (light-weight Jackson)
- GSON
所有这些都可用于将 Java 对象转换为它们的 JSON 表示.它还可用于将 JSON 字符串转换为等效的 Java 对象.
All of them can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object.
这篇关于JSON 解析为 Java - Android 应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!