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

在Android中解析嵌套的JSON对象

夏何平
2023-03-14
问题内容

我正在尝试解析JSON对象,其中的一部分看起来像这样:

{
"offer":{
    "category":"Salon",
    "description":"Use this offer now to enjoy this great Salon at a 20% discount. ",
    "discount":"20",
    "expiration":"2011-04-08T02:30:00Z",
    "published":"2011-04-07T12:00:33Z",
    "rescinded_at":null,
    "title":"20% off at Jun Hair Salon",
    "valid_from":"2011-04-07T12:00:31Z",
    "valid_to":"2011-04-08T02:00:00Z",
    "id":"JUN_HAIR_1302177631",
    "business":{
        "name":"Jun Hair Salon",
        "phone":"2126192989",
        "address":{
            "address_1":"12 Mott St",
            "address_2":null,
            "city":"New York",
            "cross_streets":"Chatham Sq & Worth St",
            "state":"NY",
            "zip":"10013"
        }
    },

等等....

到目前为止,通过执行以下操作,我可以非常简单地解析:

JSONObject jObject = new JSONObject(content);
JSONObject offerObject = jObject.getJSONObject("offer");
String attributeId = offerObject.getString("category");
System.out.println(attributeId);

String attributeValue = offerObject.getString("description");
System.out.println(attributeValue);

String titleValue = offerObject.getString("title");
System.out.println(titleValue);`

但是,当我尝试将其用作“名称:”时,它将不起作用。

我试过了:

JSONObject businessObject = jObject.getJSONObject("business");
String nameValue = businesObject.getString("name");
System.out.println(nameValue);

当我尝试这样做时,我得到“找不到JSONObject [业务]”。

当我尝试:

String nameValue = offerObject.getString("name");
System.out.println(nameValue);`

我得到了预期的“找不到JSONObject [名称]”。

我在这里做错了什么?我缺少一些基本的东西。


问题答案:

好吧,我是个白痴。这可行。

JSONObject businessObject = offerObject.getJSONObject("business");
String nameValue = businessObject.getString("name");
System.out.println(nameValue);

如果我只想想两秒钟,然后再发布…哎呀!



 类似资料:
  • 问题内容: 我正在尝试解析这种结构:(它使我发疯,并且我尝试了我能想到的一切。但是我不是很有经验) “ topDrop”就像文件名吗?player是一个JSONArray,包含5个播放器JSONObject。但是在JSON术语中,最重要的是什么。我在JSON验证程序上签出有效的凭证,我需要这样的凭证: topDrop作为JSONObject Player,作为JSONArray,并循环遍历数组中的

  • 问题内容: 我是JSON的新手,我手上有这个项目,需要我解析JSON并将其某些内容显示在ListView中。问题是我现在阅读的文档处理的是包含JSON数组的JSON对象,而我的案例涉及处理嵌套对象。简而言之,这里是摘要:我将Delphi XE2与DBXJSON一起使用。我将一些值发布到服务器,它使用如下所示的JSON对象进行回复: 我想要实现的是解析每个项目(即“钱包”)并将其作为标题添加到一个列

  • 下面是一些示例代码: On doing JSONObject innerObj = (JSONObject) obj.get(“root1”);- 它给出: 线程“main”中出现异常Java . lang . classcastexception:Java . lang . string不能转换为org.json.JSONObject 我尝试了Gson、JSONParser-但仍然无法做到...

  • 问题内容: 我必须将下面嵌套的Json数组的数据解析到我的应用程序中。我很困惑如何从中获取价值。 任何人都可以指导我如何从中获取内部价值。 我已经试过了 问题答案: 这是我认为您的JSON解析器应为的样子(可能存在一些拼写错误,我没有在编辑器上测试此代码:)):

  • 问题内容: 我们的团队决定使用Retrofit 2.0, 并且我正在对该库进行一些初步研究。如标题中所述,我想通过Android应用中的Retrofit 2.0解析一些嵌套的JSON对象。 例如,这是一个嵌套的JSON对象,其格式为: 我对数组内的JSON对象感兴趣。我注意到有一些关于通过Retrofit 1.X解析嵌套JSON对象的文章,但是最新的Retrofit 2.0API发生了很大变化,这

  • 问题内容: 我有JSON对象,如下所示: 我想在android中解析数据并将其存储到数据库中,但是我在Jsonobject中感到困惑,谢谢 问题答案: 以下是用于解析json字符串的代码段代码。请经历一下: