我有一个test.json
文件与数据:如何在java中查询json对象?
{
"name":"tet",
"id":"1",
"age" : "34"
}
现在,当我查询select * from test;
应该告诉我结果作为
name id age
-----------
tet 1 34
是否可以直接查询JSON对象,因为我们对XML做什么?
我有一个test.json
文件与数据:如何在java中查询json对象?
{
"name":"tet",
"id":"1",
"age" : "34"
}
现在,当我查询select * from test;
应该告诉我结果作为
name id age
-----------
tet 1 34
是否可以直接查询JSON对象,因为我们对XML做什么?
JSONObject jsonObject=new JSONObject();
jsonObject.add("name","tet");
jsonObject.add("id",1);
jsonObject.add("age",34);
我不想添加到json对象,我想从Json中检索 – user7592766
现在您可以检索如下数据:jsonobject.name/id/age –
select * from table;会给出一个表的结果吗?以同样的方式,如果我查询选择*从测试;我应该得到的JSON数据作为名称ID年龄 -------------- tet 1 34 – user7592766
我会说,你可以尝试寻找一个库,它允许你搜索throught JSON数据,或者你的JSON转换为一个JSONObjects和查询您的数据在一个面向对象的方式。
也许这线程将帮助:
流行杰克逊XML库支持JsonPointer自2.3版本。这是类似的XPath查询语言
输入
[{
"name":"tet",
"id":"1",
"age" : "34"
},{
"name":"tet",
"id":"1",
"age" : "34"
},{
"name":"tet",
"id":"1",
"age" : "34"
},{
"name":"tet",
"id":"1",
"age" : "34"
}]
例
ObjectMapper objectMapper = new ObjectMapper();
JsonNode root = objectMapper.readTree(new File("foo.json"));
System.out.println(root.at("/0/name").asText());
没有办法直接从JSON来查询,如果你想要,你必须创建一个新的类,会做你的要求,或者你可以从jackson-all-1.9.0.jar中使用ObjectMapper(下载并添加到你的类路径),并创建一个新的传输对象TestTO.java揭示setter和getters,你将获得你的数据像下面一样..
1.创建TestTO.java
public class TestTO{
private String name;
private int id;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
从对象2.read您的数据。
final ObjectMapper mapper = new ObjectMapper();
Test test = mapper.readValue(yourJson.json, TestTO.class);
String name = test.getName();
int id = test.getId();
int age = test.getAge();
,如果你的JSON包含多个测试对象,请使用测试阵列下面一样,它会给你测试的阵列,您可以遍历和获取数据,如下图所示。
final ObjectMapper mapper = new ObjectMapper();
TestTO[] test = mapper.readValue(yourJson.json, TestTO.class[]);
for(Test tst:test){
String name = test.getName();
int id = test.getId();
int age = test.getAge();
}
您使用的是什么JSON库?它是JSR-353还是其他的? –