2013-11-14 71 views
-2

我正在开发这个应用程序,它在用户登录并按下提交按钮后,会使用我的本地主机进行检查。到目前为止,一切都很好。为了解析来自localhost的数据,我必须使用JSON。但是,恰巧查询不包含方括号。因此我决定使用GSON解析数据。为了测试应用程序的功能,我的localhost中只有一个查询:{ 'Android' :{'statues':'1'}},我唯一想分析的值是statues。转换JSON到GSON

问题是,我该怎么做?是使用GSON一个正确的选择还是有另一种方式?

干杯。

回答

1

我认为你在这里混淆了一些东西。

你明显地开发了一个REST服务,你的Android应用程序通过JSON“与之对话”。 JSON是一种具有定义语法的数据格式。如果这个语法不正确,那很糟糕。如果应用程序的语法不好,您的服务应该将400(错误请求)返回到您的应用程序。如果来自服务的问题很严重,请修正错误。在解决语法问题之前,您不必担心其他问题。

现在,当您的应用程序解析JSON时,您可以使用许多库来序列化Java对象和反序列化JSON。 GSON是其中之一。另一个是Jackson。还有很多其他的。哪一个“更好”是一个意见问题。选择哪个感觉最简单,满足您的需求,并积极维护。

奇怪的是你的JSON似乎有元数据应该在的数据。我想应该是这样的:

{ 'phoneType' : 'Android', 'statues': 1} 

而且你已经有了这个

public class MyObject { 
    private String phoneType; 
    private int statues; 

    //getters and setters 
} 

然后使用GSON,你会做这样的事情:

MyObject o = gson.fromJson(json, MyObject.class); 

希望帮助

+0

谢谢你的关注。 这听起来非常好,它实际上解决了我很多困境和模棱两可的问题。 再次感谢 – Sean

+0

很高兴为您提供帮助。祝你的项目好运! – Vidya

+0

顺便说一句,如果我使用类(MyObject),我怎么能把它与我的本地主机?它捕捉到课堂的价值。 gson.fromJson(json,MyObject.class)是否完成这项工作? – Sean

0

不确定你的意思是“查询不包含方括号”。方括号表示JSON中的数组。有关如何解析JSON的一般信息,请查看以下问题:How to parse JSON in Java

+0

也许我无法描述我的意思。但无论如何,感谢您的链接。 – Sean