Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Android检索JSON中引用的对象_Java_Android_Json_Wcf - Fatal编程技术网

Java 从Android检索JSON中引用的对象

Java 从Android检索JSON中引用的对象,java,android,json,wcf,Java,Android,Json,Wcf,大家好,我目前正在尝试使用Android检索JSON,到目前为止,我没有遇到任何问题。但是,我有一个小问题,这与检索寄售类引用的对象有关,即ShipTo和Client类 到目前为止,我能够检索寄售值,如寄售活动、寄售CreationDate、寄售CustRef、寄售ID和订单号。但是,我不知道如何从ShipTo和客户端映射项目 这是我当前的代码,我正试图在一个方法中执行该代码:- { getJobDetailsResult: [ { Client: { ClientID:

大家好,我目前正在尝试使用Android检索JSON,到目前为止,我没有遇到任何问题。但是,我有一个小问题,这与检索寄售类引用的对象有关,即ShipTo和Client类

到目前为止,我能够检索寄售值,如寄售活动、寄售CreationDate、寄售CustRef、寄售ID和订单号。但是,我不知道如何从ShipTo和客户端映射项目

这是我当前的代码,我正试图在一个方法中执行该代码:-

{
 getJobDetailsResult: [
 {
   Client:
  {
    ClientID: 265,
    ClientName: "RETRAVISION (WA) LTD"
  },
   ConsignmentActive: true,
   ConsignmentCreationDate: "6/06/2012",
   ConsignmentCustRef: "855929",
   ConsignmentID: 304005,
   OrderNo: "20807354",
  ShipTo:
  {
    ShipToAddress1: "c/o HELENWAY ",
    ShipToAddress2: "WHS E4 UNIT 12 MARKET CITY ",
    ShipToCity: "CANNINGVALE",
    ShipToContactName: null,
    ShipToId: 18933,
    ShipToName: "DALWALLINU RETRAVISION 2",
    ShipToPCode: "6155",
    ShipToState: "WA"
   }
}
]
}
有人能告诉我如何改进吗?一切帮助都将不胜感激。多谢各位

编辑:我已经解决了这个问题。代码如下:-

con.Clients.ClientID = con.getint("ClientID");

所有3个对象;Android中的my寄售、ShipTo和Client对象现在正在填充

首先像这样解析响应

//Client object
                Clients cl = new Clients();
                cl.ClientId = clObj.getInt("ClientID");
                cl.ClientName = clObj.getString("ClientName");
                con.Clients = cl;

                //ShipTo object
                JSONObject stObj = cObj.getJSONObject("ShipTo");
                ShipTo sto = new ShipTo();
                sto.ShipToId = stObj.getInt("ShipToId");
                sto.ShipToName = stObj.getString("ShipToName");
                sto.ShipToAddress1 = stObj.getString("ShipToAddress1");
                sto.ShipToAddress2 = stObj.getString("ShipToAddress2");
                sto.ShipToCity = stObj.getString("ShipToCity");
                sto.ShipToPostcode = stObj.getString("ShipToPCode");
                sto.ShipToState = stObj.getString("ShipToState");
                con.ShipTo = sto;
String response = EntityUtils.toString(response.getEntity());
JSONObject json = new JSONObject(response);
获取响应后,从响应创建一个json对象,如下所示

//Client object
                Clients cl = new Clients();
                cl.ClientId = clObj.getInt("ClientID");
                cl.ClientName = clObj.getString("ClientName");
                con.Clients = cl;

                //ShipTo object
                JSONObject stObj = cObj.getJSONObject("ShipTo");
                ShipTo sto = new ShipTo();
                sto.ShipToId = stObj.getInt("ShipToId");
                sto.ShipToName = stObj.getString("ShipToName");
                sto.ShipToAddress1 = stObj.getString("ShipToAddress1");
                sto.ShipToAddress2 = stObj.getString("ShipToAddress2");
                sto.ShipToCity = stObj.getString("ShipToCity");
                sto.ShipToPostcode = stObj.getString("ShipToPCode");
                sto.ShipToState = stObj.getString("ShipToState");
                con.ShipTo = sto;
String response = EntityUtils.toString(response.getEntity());
JSONObject json = new JSONObject(response);
你可以得到这样的最终结果

//Client object
                Clients cl = new Clients();
                cl.ClientId = clObj.getInt("ClientID");
                cl.ClientName = clObj.getString("ClientName");
                con.Clients = cl;

                //ShipTo object
                JSONObject stObj = cObj.getJSONObject("ShipTo");
                ShipTo sto = new ShipTo();
                sto.ShipToId = stObj.getInt("ShipToId");
                sto.ShipToName = stObj.getString("ShipToName");
                sto.ShipToAddress1 = stObj.getString("ShipToAddress1");
                sto.ShipToAddress2 = stObj.getString("ShipToAddress2");
                sto.ShipToCity = stObj.getString("ShipToCity");
                sto.ShipToPostcode = stObj.getString("ShipToPCode");
                sto.ShipToState = stObj.getString("ShipToState");
                con.ShipTo = sto;
String response = EntityUtils.toString(response.getEntity());
JSONObject json = new JSONObject(response);
试试这个,它会有用的