json 문자열이 있습니다. Gson을 사용하여이 문자열을 클래스에 deserialize하는 방법은 무엇입니까?JSON - 클래스에 다중 객체 deserialize
이것은 여러 클래스 json 문자열입니다.
- 응답,
- 상태,
- OrderItems에
- 단위
- 지불
- ADRESS
- TreeItems가 setter를 가지고
, 그리고 : 나는이 클래스를 생성 getters 속성 문제는 예제에서 반환 된 null입니다. List에는 null을 반환하는 getStatus 메서드가 있습니다.
는이 문자열 클래스에 직렬화하는 방법을 나에게 예를 작성할 수
{
"result": {
"userid": 5,
"type": 1,
"response": [
{
"id": "390",
"created_at": "2012-05-27 00:00:00",
"updated_at": "2012-05-27 00:00:00",
"incident": "2",
"price_user": "5.00",
"userid": "5",
"realization_asap": "0",
"realization_date": "2013-06-12",
"realization_time_range": "18-20",
"Status": {
"id": "7",
"name": "in progress",
"dsc": "STATUS_ASSIGNED_user"
},
"OrderItems": [
{
"id": "4",
"distance": "5",
"price": "5.00",
"problem_dsc": "Test",
"custom": "1",
"Unit": {
"id": "12",
"name": "my printer",
"serial_no": "",
"dsc": "",
"model": "hp "
},
"TreeItem": {
"id": "3",
"title": "Hp managament tool"
},
"Problems": [
{
"id": "252",
"name": "Configure printer",
"dsc": ""
}
]
}
],
"Address": {
"id": "1084",
"city": "x",
"street": "y",
"lat": "4",
"lng": "6"
},
"Payments": [
{
"id": "3",
"price": "5.00",
"status": "2"
}
]
},
{
"id": "401",
"created_at": "2012-05-27 00:00:00",
"updated_at": "2012-05-27 00:00:00",
"price_user": "3.00",
"userid": "52",
"realization_asap": "0",
"realization_date": "2013-06-17",
"realization_time_range": "custom",
"realization_custom_time": "11:56:00",
"Status": {
"id": "7",
"name": "in progress",
"dsc": "STATUS_ASSIGNED_user"
},
"OrderItems": [
{
"id": "527",
"distance": "5",
"price": "4.00",
"problem_dsc": "",
"Unit": {
"id": "34",
"name": "Canon printer",
"serial_no": "abcd",
"dsc": "sdf",
"model": "test123",
"Manufacturer": {
"id": "2",
"name": "Canon"
}
},
"TreeItem": {
"id": "373",
"title": "System Canon"
},
"Problems": [
{
"id": "258",
"name": "tesrt",
"dsc": ""
},
{
"id": "259",
"name": "test",
"dsc": ""
},
{
"id": "260",
"name": "test",
"dsc": ""
}
]
}
],
"Address": {
"id": "3",
"city": "a",
"street": "b",
"lat": "12",
"lng": "58"
},
"Payments": [
{
"id": "2",
"price": "345",
"status": "1"
}
]
},
],
"date": "2013-06-01 00:00:00"
},
"id": "2013-06-01 00:00:00"
}
내 클래스 :
import java.util.ArrayList;
import java.util.List;
import org.codehaus.jackson.annotate.JsonAutoDetect;
import org.codehaus.jackson.annotate.JsonCreator;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.annotate.JsonProperty;
public class myResponse {
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public class Result {
private int userid;
private String date;
private int type;
public int getuserid() {
return userid;
}
public void setuserid(int userid) {
this.userid = userid;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
private List<Response> response = new ArrayList<Response>();
public List<Response> getResponse() {
return response;
}
public void setResponse(List<Response> response) {
this.response = response;
}
}
public class Response {
private int id;
private String comments_dsc;
private String created_at;
private String updated_at;
private int incident;
private String price_client;
private String price_serviceman;
private int serviceman_id;
private String realization_asap;
private String realization_date;
private String realization_time_range;
private String realization_custom_time;
private String realization_finished_at;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCommentsDsc() {
return comments_dsc;
}
public void setCommentsDsc(String comments_dsc) {
this.comments_dsc = comments_dsc;
}
public String getCreatedAt() {
return created_at;
}
public void setCreatedAt(String created_at) {
this.created_at = created_at;
}
public String getUpdatedAt() {
return updated_at;
}
public void setUpdatedAt(String updated_at) {
this.updated_at = updated_at;
}
public int getIncident() {
return incident;
}
public void setIncident(int incident) {
this.incident = incident;
}
public String getPrizeClient() {
return price_client;
}
public void setPrizeClient(String price_client) {
this.price_client = price_client;
}
public String getPriceServiceman() {
return price_serviceman;
}
public void setPriceServiceman(String price_serviceman) {
this.price_serviceman = price_serviceman;
}
public int getServciemanid() {
return serviceman_id;
}
public void setuserid(int serviceman_id) {
this.serviceman_id = serviceman_id;
}
public String getRealizationAsap() {
return realization_asap;
}
public void setRealizationAsap(String realization_asap) {
this.realization_asap = realization_asap;
}
public String getRealizationDate() {
return realization_date;
}
public void setRealizationDate(String realization_date) {
this.realization_date = realization_date;
}
public String getRealizationCustomTime() {
return realization_custom_time;
}
public void setRealizationCustomTime(String realization_custom_time) {
this.realization_custom_time = realization_custom_time;
}
public String getRealizationTimeRange() {
return realization_time_range;
}
public void setRealizationTimeRange(String realization_time_range) {
this.realization_time_range = realization_time_range;
}
public String getRealizationFinishedAt() {
return realization_finished_at;
}
public void setRealizationFinishedAt(String realization_finished_at) {
this.realization_finished_at = realization_finished_at;
}
}
public class Status {
private int id;
private String name;
private String dsc;
public Status(int id, String name, String dsc) {
this.id = id;
this.name = name;
this.dsc = dsc;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDsc() {
return dsc;
}
public void setDsc(String dsc) {
this.dsc = dsc;
}
}
public class OrderItems {
private int id;
private String distance;
private String price;
private String problem_dsc;
private String custom;
private String active;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDistance() {
return distance;
}
public void setDistance(String distance) {
this.distance = distance;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getProblemDsc() {
return problem_dsc;
}
public void setProblemDsc(String problem_dsc) {
this.problem_dsc = problem_dsc;
}
public String getCustom() {
return custom;
}
public void setCustom(String custom) {
this.custom = custom;
}
public String getActive() {
return active;
}
public void setActive(String active) {
this.active = active;
}
}
public class TreeItems {
private int id;
private String title;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
public class Unit {
private int id;
private String name;
private String serial_no;
private String dsc;
private String model;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSerialNo() {
return serial_no;
}
public void setSerialNo(String serial_no) {
this.serial_no = serial_no;
}
public String getDsc() {
return dsc;
}
public void setDsc(String dsc) {
this.dsc = dsc;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
public class Manufacturer {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Problems {
private int id;
private String name;
private String dsc;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDsc() {
return dsc;
}
public void setDsc(String dsc) {
this.dsc = dsc;
}
}
public class Address {
private int id;
private String city;
private String street;
private String lat;
private String lng;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getLat() {
return lat;
}
public void setLat(String lat) {
this.lat = lat;
}
public String getLng() {
return lng;
}
public void setLng(String lng) {
this.lng = lng;
}
}
public class Payments {
private int id;
private String price;
private String status;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getStatus() {
return status;
}
public void setStatusg(String lng) {
}
}
}
내 코드 :
Gson gson = new Gson();
CServicesResponse cgs = gson.fromJson(s,
CServicesResponse.class);
CServicesResponse.Result cgsr = cgs.getResult();
J 쓴 :
GSON gson1 = 새로운 Gson(); 응답 코드에
String s2 = gson1.toJson(cgsr.getResponse());
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(s2);
String prettyJsonString = gson.toJson(je);
System.out.println(prettyJsonString);
은, JA는 proporties을 가지고, 내가
[
{
"id": 390,
"created_at": "2013-06-12 11:55:51",
"updated_at": "2013-06-13 12:19:21",
"incident": 2,
"price_user": "32.00",
"user_id": 52,
"realization_asap": "0",
"realization_date": "2013-06-12",
"realization_time_range": "18-20"
},
{
"id": 401,
"created_at": "2013-06-13 11:38:52",
"updated_at": "2013-06-17 01:10:05",
"incident": 0,
"price_user": "323.00",
"user_id": 52,
"realization_asap": "0",
"realization_date": "2013-06-17",
"realization_time_range": "custom",
"realization_custom_time": "11:56:00"
},
{
"id": 399,
"created_at": "2013-06-13 11:03:05",
"updated_at": "2013-06-13 11:43:29",
"incident": 0,
"price_client": "290.00",
"price_user": "290.00",
"user_id": 52,
"realization_asap": "1",
"realization_finished_at": "2013-06-13 11:43:29"
}
]
어떻게 내 수업에 JSON 문자열을 deserialzie 수 있습니다 ... 클래스 상태, OrderItems에 표시되지 않은?
시도를 질문을 바꿔 지금까지 우리에게 코드를 표시합니다. – PeterMmm
지금까지 해보신 것은 무엇입니까? 코드 및 오류 메시지를 공유하십시오. 그러면 우리를 도와주는 것이 훨씬 쉽습니다. 완전한 솔루션을 코딩하는 데 도움을 줄 수는 없습니다. – David
오, 한 가지 더, JSON 데이터를 구문 분석하고 유효성을 검사하려고했지만 유효하지 않습니다. 먼저 수정! – David