2012-04-16 80 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#" 
     } 
    ] 
} 

我假設你的理由想這樣做是傳輸大小。發送給您的端點仍然需要知道如何讀取該請求,如果它支持上述位置參數,則需要確保它們按照正確的順序定位並保持不變。