JSON 解析为 Java - Android 应用程序 [英] JSON parsing to Java - Android application

查看:25
本文介绍了JSON 解析为 Java - Android 应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在 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.

还有更好的方法,例如:

  1. 杰克逊
  2. Jackson-JR(轻量级杰克逊)
  3. GSON
  1. Jackson
  2. Jackson-JR (light-weight Jackson)
  3. 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆