【发布时间】:2016-11-29 08:09:03
【问题描述】:
我有一个这样的 Json 文件:
[{
dname: "xxxx",
dage: "24"
}, {
dname: "yyyy",
dage: "26"
}]
目标:
- 我想以数组的形式访问它们
- 在 JSON 文件中搜索名称以查找特定名称
- 年龄相同。
我做了什么:
文件名:DtExtract.java
public class DtExtract{
public static ObjectMapper mapper = new ObjectMapper();
private Dtmain[] dtmain =mapper.readValue(new File("file location"), TypeFactory.defaultInstance().constructArrayType(D tmain.class));
public DtExtract() throws IOException{}
public String getname(int i) throws IOException { String strname = dtmain[i].getjname(); return strname;}
public String getage(int i) throws IOException { String strage = dtmain[i].getjage(); return strage;}
}
class Dtmain {
private String dname;
private String dage;
public Dtmain(){}
public String getjname(){return dname;}
public String getjage(){return dage;}
public void setjname(String dname){ this.dname=dname;}
public void setjage(String dage){ this.dage=dage;}
public String toString(){ return "Student [ name" + dname +", age " +dage +"]";
}
=============================
文件名:Myclass.java
public class Myclass{
public static void main(String args[]) throws IOException {
DtExtract dtextract= new DtExtract();
for(int i=0; i< 2; i++)
{
if (dtextract.getname(i).equals("xxxx")) {System.out.print("Name matches");}
if (dtextract.getage(i).equals("24")) {System.out.print("Age matches");}
}
}
}
==============================
这是我的代码摘要,但我的问题是:
- 这个 for 循环真的是在访问 JSON 数组元素吗?
- 还有其他更快的方法来进行这种 JSON 解析和比较吗?
【问题讨论】:
-
您是否在比较 JSON 数据以避免重复?
-
不...根据比赛我将执行一些其他任务。这只是代码的摘要。
-
寻找一种更快更简单的方法来搜索我在代码上方提供的 json 数组。
-
看到这个希望对你有帮助stackoverflow.com/questions/38654814/…