[英]conversion of java string to json object
我在下面的代碼中有一個名為'jo'的json對象。我將這個json對象轉換為java字符串以將此json對象作為response返回。然后我如何將此字符串轉換回所需格式的json對象。請幫助我。
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.*,java.util.ArrayList"%>
<%@page import="net.sf.json.JSONObject"%>
<%@page import="net.sf.json.JSONArray"%>
<%
JSONArray cellarray = new JSONArray();
JSONObject cellobj = null; //new JSONObject();
JSONObject jo=new JSONObject();
String country=request.getParameter("count");
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:
3306/test","root","root");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("Select * from state
where countryid='"+country+"'");
while(rs.next()){
cellobj = new JSONObject();
cellobj.put("id", rs.getString(1));
cellobj.put("name", rs.getString(3));
cellarray.add(cellobj);
}
jo.put("arrayName",cellarray);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(jo.toString());
}
catch(Exception e){
System.out.println(e);
}
%>
使用代碼:
String returnString = jo.toString();
並作為回復發送。
使用JSONObject
JSONObject jsonObj = new JSONObject("String");
這應該可以解決問題
JSONObject jsonObject = JSONObject.fromObject(jo);
// String to Json Object
JSONObject jsonObject = new JSONObject(stringResponse);
// JsonObject to String
String string = jsonObject.toString();
無論您何時收到回復,都可以使用以下代碼:
JSONObject json= new JSONObject ( responseString );
然后你可以像Json
對象一樣處理它。
像String id=json.put("id");
這只是一個建議,我也面臨着這個問題。
最后,我嘗試了GSON庫。 GSON直接將您的JSONString轉換為java類對象。
例:
String jsonString = {"phoneNumber": "8888888888"}
創建一個新類:
class Phone {
@SerializedName("phoneNumber")
private String phoneNumebr;
public void setPhoneNumber(String phoneNumebr) {
this.phoneNumebr = phoneNumebr;
}
public String getPhoneNumebr(){
return phoneNumber;
}
}
//在java中
Gson gson = new Gson();
Phone phone = gson.fromJson(jsonString, Phone.class);
System.out.println(" Phone number is "+phone.getPhoneNumebr());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.