尝试从 java 中的 Web 服务获取数据
Trying to get data from web-service in java
[
{
"title": "ginger",
"id": "38",
"product_id": "17",
"product_logo": "imagePath/Desert_0.jpg?itok=Uvm6nxpY",
"product_logo_1": "imagePath/Desert_0.jpg?itok=6YHK_afq",
"price": ".00"
}
]
我正在 Java 开发一个 swing 应用程序,我需要从网络服务中获取数据
我按照 this 示例从 Web 服务获取数据并将 Web 服务数据存储在字符串中。
但我想将此字符串转换为 json 并遵循一些示例,其中之一是 this and this
所以我只想知道我在这里做错了什么,或者这是正确的使用方法,因为我不知道如何在Java中使用网络服务...
获取JSONObject如下
JSONObject jsonObj = new JSONObject(YOUR_STRING_OBJECT);
查看This了解更多
您可以使用 google gson jar。
并将对象转换为 json,如下所示。
EmployeeRestService.java
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.web.object.Employee;
@Path("/getemployee")
public class EmployeeRestService {
@GET
@Path("/emplist")
@Produces(MediaType.APPLICATION_JSON)
public Object getEmpList() throws SQLException{
String query = "SELECT ID,NAME,SURNAME,LOCATION_ID FROM FW_EMPLOYEE ORDER BY ID";
Connection dbcon = (new DbConnection()).getDBConnection();
Statement stmt = dbcon.createStatement();
ResultSet rs = stmt.executeQuery(query);
List<Employee> empList = new ArrayList<Employee>();
while(rs.next()){
Employee emp = new Employee();
emp.setId(rs.getString(1));
emp.setFirstName(rs.getString(2));
emp.setLastName(rs.getString(3));
emp.setLocationId(rs.getString(3));
empList.add(emp);
}
dbcon.close();
Gson gson = new GsonBuilder().create();
return gson.toJson(empList);
}
}
Json 使用 ajax 调用。
<script type="text/javascript">
$(document).ready(function(){
var val = "";
var row ="";
$("#submit").click(function(event){
event.preventDefault();
$.ajax({
type: "GET",
dataType:"json",
//contentType: "application/json; charset=utf-8",
url: "rest/getemployee/emplist",
success: function(data) {
console.log("response:" + data);
$.each(data, function(j, pdata) {
row = '<tr> <td>'+ pdata.Id +'</td><td>'+ pdata.firstName +'</td> <td>' + pdata.lastName + '</td></tr>';
val = val + row;
//$('#data').text(row);
// console.log(pdata.lastName);
});
$("#emp").append( '<table border="1">'+ val + '</table>');
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(' Error in processing! '+textStatus);
}
});
});
});
</script>
你需要先创建它的对象,然后你需要使用它
JSONObject jsnobject = new JSONObject(String);
JSONArray jsonArray = jsnobject.getJSONArray("locations");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject explrObject = jsonArray.getJSONObject(i);
}
并确保在代码中导入这个 org.json.JSONObject
[
{
"title": "ginger",
"id": "38",
"product_id": "17",
"product_logo": "imagePath/Desert_0.jpg?itok=Uvm6nxpY",
"product_logo_1": "imagePath/Desert_0.jpg?itok=6YHK_afq",
"price": ".00"
}
]
我正在 Java 开发一个 swing 应用程序,我需要从网络服务中获取数据
我按照 this 示例从 Web 服务获取数据并将 Web 服务数据存储在字符串中。
但我想将此字符串转换为 json 并遵循一些示例,其中之一是 this and this
所以我只想知道我在这里做错了什么,或者这是正确的使用方法,因为我不知道如何在Java中使用网络服务...
获取JSONObject如下
JSONObject jsonObj = new JSONObject(YOUR_STRING_OBJECT);
查看This了解更多
您可以使用 google gson jar。
并将对象转换为 json,如下所示。 EmployeeRestService.java
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.web.object.Employee;
@Path("/getemployee")
public class EmployeeRestService {
@GET
@Path("/emplist")
@Produces(MediaType.APPLICATION_JSON)
public Object getEmpList() throws SQLException{
String query = "SELECT ID,NAME,SURNAME,LOCATION_ID FROM FW_EMPLOYEE ORDER BY ID";
Connection dbcon = (new DbConnection()).getDBConnection();
Statement stmt = dbcon.createStatement();
ResultSet rs = stmt.executeQuery(query);
List<Employee> empList = new ArrayList<Employee>();
while(rs.next()){
Employee emp = new Employee();
emp.setId(rs.getString(1));
emp.setFirstName(rs.getString(2));
emp.setLastName(rs.getString(3));
emp.setLocationId(rs.getString(3));
empList.add(emp);
}
dbcon.close();
Gson gson = new GsonBuilder().create();
return gson.toJson(empList);
}
}
Json 使用 ajax 调用。
<script type="text/javascript">
$(document).ready(function(){
var val = "";
var row ="";
$("#submit").click(function(event){
event.preventDefault();
$.ajax({
type: "GET",
dataType:"json",
//contentType: "application/json; charset=utf-8",
url: "rest/getemployee/emplist",
success: function(data) {
console.log("response:" + data);
$.each(data, function(j, pdata) {
row = '<tr> <td>'+ pdata.Id +'</td><td>'+ pdata.firstName +'</td> <td>' + pdata.lastName + '</td></tr>';
val = val + row;
//$('#data').text(row);
// console.log(pdata.lastName);
});
$("#emp").append( '<table border="1">'+ val + '</table>');
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(' Error in processing! '+textStatus);
}
});
});
});
</script>
你需要先创建它的对象,然后你需要使用它
JSONObject jsnobject = new JSONObject(String);
JSONArray jsonArray = jsnobject.getJSONArray("locations");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject explrObject = jsonArray.getJSONObject(i);
}
并确保在代码中导入这个 org.json.JSONObject