【发布时间】:2018-01-28 21:18:12
【问题描述】:
我有以下 JSON 文件:
{
"project details": [ {
"company name": "Example company name",
"project name": "Example project name",
"client": {
"name": "Example client",
"email": "testing@test.com",
"phone": "+44 123456"
},
"Z Contact" : {
"name": "Fred Blogs",
"email": "fred@z.com",
"phone": "+44 123456"
}
} ]
}
我正在尝试获取具体的详细信息,例如公司名称、客户名称和“Z 联系人”的电子邮件地址。
目前为止
public static void main(String[] args) {
JSONParser parser = new JSONParser();
try {
Object obj = parser.parse(new FileReader("C:\\Users\\test\\Desktop\\Testing2\\src\\testdata.json"));
JSONObject jsonObject = (JSONObject) obj;
JSONArray array = (JSONArray) jsonObject.get("project details");
System.out.println(array);
} catch (Exception e) {
e.printStackTrace();
}
}
这将返回整个项目详细信息数据。我对如何使用 Java 获得每个单独的值有点困惑。
另外,我将这个 JSON 文件与读取它的类放在同一个包中,但是当我使用
Object obj = parser.parse(new FileReader("\\testdata.json"));
为什么找不到文件?我使用文件完整路径的解决方案可行,但这可能会在运行时发生变化,因此不适合。
【问题讨论】:
-
前导反斜杠是指根目录。试着把它排除在外。另外,你被困在多远了?
-
从您的问题中也不清楚您使用的是哪个 JSON 库。
-
抱歉,我使用的是简单的 JSON 库。我被困在获取具体信息的下一步,例如“公司名称”和“客户”的“名称”。
-
省略前导反斜杠会导致 java.io.FileNotFoundException: testdata.json (The system cannot find the file specified) error
-
只是想知道您的问题是否在于查找路径文件?还是读取每个单独的元素,如姓名、电子邮件、电话等?