当前位置: 首页 > 面试题库 >

JSON解析为Java-Android应用程序

拓拔稳
2023-03-14
问题内容

我需要在Java Android Appl中解析json字符串的帮助。

JSON文件的文本:

{"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,名称,纬度,经度。谢谢,米哈尔。


问题答案:

使用手动解析,您可以这样实现:

            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

我的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对象中的内容。

还有更好的方法,例如:

  1. Jackson
  2. Jackson-JR(轻量级Jackson)
  3. GSON

所有这些都可以用于将Java对象转换为JSON表示形式。它还可以用于将JSON字符串转换为等效的Java对象。



 类似资料:
  • 问题内容: 现在完成XML SAX解析之后,我将在应用程序中进行JSON解析。我在这里为您提供杰森 现在,我提到了一个Json解析的示例,在该示例中,他们创建了一个jString对象,我对此特定行有疑问,如下所示: 任何人都可以让我澄清一下。完整示例的链接如下: http://www.androidcompetencycenter.com/2009/10/json-parsing-in- andr

  • 您好,我有这个代码,我想将此数据解析为对象,现在我得到了一个 anyType 的字符串 我想分别得到描述对象纬度对象和经度对象

  • 问题内容: 在我的Android应用程序中,我必须使用服务器上的JSON才能在应用程序中进行特定调整。我试图达到的目的是读取此json并将所有值存储到局部变量中以在应用程序内执行操作。 来自服务器的JSON: 为了进行解析,我创建了Parse JSON类,并尝试提出在我的应用中读取和存储此JSON值的方法。 执行此操作的功能: getJSONFromUrl方法: 我正在收到错误:在此但我已经定义了

  • 我有这个JS代码: 我的JSON看起来像:{“日期”:“2017-03-27”,“顺序”:“61”,“数据”:[{“国家标签”:“澳大利亚”,“货币标签”:“多拉尔”,“单位”:“1”,“代码”:“澳元”,“汇率”:“18.946”},{“国家标签”:“巴西”,“货币标签”:“真实”,“单位”:“1”,“代码”:“BRL”,“汇率”:“7.951”},{“国家标签”Bulharsko,“货币标签”

  • 我正在使用一个JSON解析器从我的JSON文件中读取数据并将其显示在我的应用程序中,我最初使用这段代码创建数组,它工作良好,但现在我已经将它粘贴到一个新的应用程序中,使它从JSON获取数据并将其放到一个不工作的文本字段中。我会在下面贴出代码和错误日志。 d/test:http://curtisboylan.me/mygeek/mygeekprofile.php?user=1 e/egl_emula

  • 问题内容: 我有这个JSON对象: 而且我想解析,并获得字符串,,和每个事物的1和2。 所以我做了这个,但是没有用: 问题答案: 您应该尝试这样: