有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从JSON字符串设计类

我正在使用下面的JSON字符串设计一个类。稍后我将使用GSON读取JSON字符串。我在设计课程时遇到了困难。我尝试了太多的版本,但都没有返回预期的结果。显然,我没有正确地设计这个类。我的应用程序代码非常复杂,所以我不能将其粘贴到这里。我只是需要帮助来弄清楚我的班级设计,因为我已经尝试了很多次,但都没有成功。请对我放松点,因为我对Java非常陌生。求你了

JSON字符串:

    {"info": [{"name":"Cineplex Outlets","storeCode":"3001","deptID":"5630","location":"Singapore","geography":"East","team_number":"Team 9",
"country":"United States","state":"Arizona","city":"Phoenix","address":{"storeAdd":["123,East Park St","1811 Fountain View","Pheoniz, 
Arizona, 91210","United States"]},"passcode":"1001","telephone":{"landline":"1-818-502 8310"},"operationTimings":{"Monday":"10:00AM - 9:00PM",
"Tuesday":"10:00AM - 9:00PM","Friday":"10:00AM - 9:00PM","Wednesday":"10:00AM - 9:00PM","Thursday":"10:00AM - 9:00PM","Sunday":"11:00AM - 7:00PM",
"Saturday":"10:00AM - 9:00PM"},"links":{"myStInfo":"http://www.xyz","appointments":"http://abc",
"directions":"http://pqr"},"picture":{"http":"http://azy","https":"https://bbj"}}

Java类:

public class MyClass {
  private String name;
  private String storeCode;
  private Long deptID;
  private String location;
  private String geography;
  private String team_number;
  private String country;
  private String state;
  private String city;
  private Address address;


public static class MyClassTest
{
    private ArrayList<MyClass> info;    
    private String passcode;
    private Telephone telephone;
    private Hours operationTimings;
    private StoreUrl links;
    private StoreImage picture; 
}


public static class Address
{
    private ArrayList<String> storeAdd;
}

public static class Telephone
{
    private String telephone;
}

public static class Hours
{
    private String Monday;
    private String Tuesday;
    private String Friday;
    private String Wednesday;
    private String Thursday;
    private String Sunday;
    private String Saturday;
}

public static class StoreUrl
{
    private URL myStInfo;
    private URL appointments;
    private URL directions;
}


public static class StoreImage
{
    private URL http;
    private URL https;
}

}

共 (1) 个答案

  1. # 1 楼答案

    A property name of class Telephone is landline, not telephone. Principal class T1, has only one property, info, and is an array of String. You miss in Json string "]}".

       public class T1
    {
        public ArrayList<T2> info;
    }
    
    public class T2
    {
        public String name;
        public String storeCode;  
        public String deptID;    
        public String location;
        public String geography;
        public String team_number;
        public String country;
        public String state;
        public String city;
        public Address address;
        public String passcode;
        public Telephone telephone;
        public OperationTime operationTimings;
        public Links links;
        public Picture picture;
    }
    
    public class Address 
    {
        public ArrayList<String> storeAdd;
    }
    
    public class Telephone 
    {
        public String landline;
    }
    
    public class OperationTime 
    {
        public String Monday;
        public String Tuesday;
        public String Friday;
        public String Wednesday;
        public String Thursday;
        public String Sunday;
        public String Saturday;
    }
    
    public class Links
    {
        public String myStInfo;
        public String appointments;
        public String directions;
    }
    
    public class Picture
    {
        public String http;
        public String https;
    }