我有一個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還是其他的? –