首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android/java用编号数据解析JSON

问Android/java用编号数据解析JSON
EN

Stack Overflow用户
提问于 2015-05-15 13:12:33
回答 2查看 131关注 0票数 0

我一直在寻找用java/android解析JSON数据的方法。不幸的是,没有与我的JSON相同的JSON。我有包含奇怪数字的JSON数据,看起来如下:

代码语言:javascript
复制
{
"formules": [{"1":
    {
  "formule": "Linear Motion",
  "url": "qp1"
},"2":
{
  "formule": "Constant Acceleration Motion",
  "url": "qp2"
},"3":
{
  "formule": "Projectile Motion",
  "url": "qp3"
}
}
]
}

请帮助我如何在Java/android中解析这一点。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-15 13:35:16

尝尝这个

代码语言:javascript
复制
JSONObject jsonObject = new JSONObject(string);
JSONArray jsonArray = jsonObject.getJSONArray("formules");
JSONObject jsonObject1 = jsonArray.getJSONObject(0);

现在您可以访问对象"1“作为

代码语言:javascript
复制
JSONObject json = jsonObject1.getJSONObject("1");

或使用迭代器进行如下迭代

代码语言:javascript
复制
Iterator keys = jsonObject1.keys();
while(keys.hasNext()) {
            // loop to get the dynamic key
            String currentDynamicKey = (String)keys.next();
            JSONObject json = jsonObject1.getJSONObject(currentDynamicKey);

        }

如果能用,请告诉我。

票数 0
EN

Stack Overflow用户

发布于 2015-05-15 13:35:07

对于在Android中解析Json,我发现Gson库很有帮助

http://mvnrepository.com/artifact/com.google.code.gson/gson/2.3

它需要的是创建一个表示对象的pojo类。可能看上去像

代码语言:javascript
复制
public class ClassPojo
{
private Formules[] formules;

public Formules[] getFormules ()
{
    return formules;
}

public void setFormules (Formules[] formules)
{
    this.formules = formules;
}

@Override
public String toString()
{
    return "ClassPojo [formules = "+formules+"]";
}
}
public class Formules
{
private Formule 3;

private Forumle 2;

private Formule 1;



}

public class Formule
{
private String formule;

private String url;

public String getFormule ()
{
    return formule;
}

public void setFormule (String formule)
{
    this.formule = formule;
}

public String getUrl ()
{
    return url;
}

public void setUrl (String url)
{
    this.url = url;
}

@Override
public String toString()
{
    return "ClassPojo [formule = "+formule+", url = "+url+"]";
}
}       

然后,要将它与JSon进行转换,您可以使用

代码语言:javascript
复制
//Convert to JSON
ClassPojo pojo = new ClassPojo();
Gson gson = new Gson();
String json = gson.toJson(pojo);

//COnvert back to Java object
ClassPojo pojo = gson.fromJson(json,ClassPojo.class);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30260460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档