英文:
How to get a length of json object saved in local project directory?
问题
以下是您要翻译的内容:
我有一个spring-boot项目,我的项目结构如下...
-src
-target
-pom.xml
-uploaded_json
-- example.json
这是我的example.json文件内容:
[
{
"Username": "U1",
"Password": "P1"
},
{
"Username": "U2",
"Password": "P2"
},
{
"Username": "U3",
"Password": "P3"
}
]
我可以读取example.json并将其保存为int类型的变量吗?我应该使用java.io.File对象吗?请帮助我找出如何获取JSON文件的长度。提前谢谢。
编辑:我使用simple-json创建了一个方法。
@GetMapping("getJSON")
public String testmethod() {
JSONParser parser = new JSONParser();
File directory = new File(".");
JSONArray a;
try {
a = (JSONArray) parser.parse(new FileReader(
directory.getCanonicalPath() + "\\uploaded_json\\example.json"));
int length = a.size();
System.out.println(length);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
英文:
I have spring-boot project and my project's structure looks like this...
-src
-target
-pom.xml
-uploaded_json
-- example.json
and here is my example.json
[
{
"Username": "U1",
"Password": "P1",
},
{
"Username": "U2",
"Password": "P2",
},
{
"Username": "U3",
"Password": "P3",
}
]
Can I read example.json and save it as int type variable? Should I use java.io.File Object? Please help me to figure out how to get the length of JSON file. Thank you in advance.
Edit: I made a method using simple-json.
@GetMapping("getJSON")
public String testmethod() {
JSONParser parser = new JSONParser();
File directory = new File(".");
JSONArray a;
try {
a = (JSONArray) parser.parse(new FileReader(
directory.getCanonicalPath() + "\\uploaded_json\\example.json"));
int length = a.size();
System.out.println(length);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
答案1
得分: 1
我将使用jackson-databind库
,并使用JsonNode
类。
在Maven仓库中的最新版本是2.11.1
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.11.1'
以下是使用jackson-databind
获取JSON大小的示例:
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
public class GradleApplication {
public static void main(String[] args) {
try {
File jsonFile = Paths.get("src", "main", "resources", "example.json").toFile();
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(jsonFile);
System.out.println("JSON的大小是:" + node.size());
} catch (IOException e) {
e.printStackTrace();
}
}
}
英文:
I would use the jackson-databind library
, using the class JsonNode
.
The latest version on the maven repository is 2.11.1
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.11.1'
Here is an example for getting the size with jackson-databind
:
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
public class GradleApplication {
public static void main(String[] args) {
try {
File jsonFile = Paths.get("src", "main", "resources", "example.json").toFile();
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(jsonFile);
System.out.println("The size of the json is : "+ node.size());
} catch (IOException e) {
e.printStackTrace();
}
}
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论