2012-04-16 71 views
0

在我的项目我有一个非常特殊的JSON请求发送到Oracle服务器接收响应; 此刻我送JSON字符串:JSON格式RPC

{\"id\":\"1\",\"method\":\"getOverviewInfo\",\"Params\":{\"overviewID\":\"0000004297\",\"overviewType\":\"Stock Items\",\"AORParams\":null,\"arrOptions\":{\"columnInfo\":\"1;100;1;1#\",\"orderInfo\":\"1;0;0#\"}}}" 从这个类来:

public class SendOverview {    

public string id { get; set;} 
       public string method { get; set;} 
       public SendOV Params {get; set;} 
    } 

public class SendOV {    

public string overviewID { get; set; } 
     public string overviewType { get; set; } 
     public string AORParams { get; set; } 
     public SentDatas arrOptions { get; set; } 

    } 

public class SentDatas {  

public string columnInfo { get; set; } 
     public string orderInfo { get; set; } 
    } 

现在的问题是,我可以有可能调整请求字符串从参数数组中删除成员名称,所以代替 “overviewID”= “XXXX”, “overviewType”= “XXXX” .......

它应该是 “XXXX”, “XXXX”

编辑FORMATTED:

{ 
    "id": "1", 
    "method": "getOverviewInfo", 
    "Params": { 
     "0000004297", 
     "Stock Items", 
     null, 
     { 
      "columnInfo": "1;100;1;1#", 
      "orderInfo": "1;0;0#" 
     } 
    } 
} 
+0

转换PARAMS到阵列 – 2012-04-16 11:28:50

+0

本文中的问题规定,我不知道如何连载多对象阵列,甚至创建它.. – NoxBene 2012-04-16 13:58:13

回答

0

是的,你可以做这样的事情,你需要如果你这样做,虽然更换对象{}与[]数组的则params的值。

像:

{ 
    "id": "1", 
    "method": "getOverviewInfo", 
    "Params": [ 
     "0000004297", 
     "Stock Items", 
     null, 
     { 
      "columnInfo": "1;100;1;1#", 
      "orderInfo": "1;0;0#" 
     } 
    ] 
} 

我假设你的理由想这样做是传输大小。发送给您的端点仍然需要知道如何读取该请求,如果它支持上述位置参数,则需要确保它们按照正确的顺序定位并保持不变。