台灣最大程式設計社群網站
線上人數
1540
 
會員總數:246037
討論主題:189624
歡迎您免費加入會員
討論區列表 >> C# >> JsonConvert.SerializeObject
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
JsonConvert.SerializeObject
價值 : 120 QP  點閱數:221 回應數:1
樓主

龍貓王
初學者
25 44
1377 78
發送站內信

因有電子資料交換的需求要透過json 字串, 目前找到 JsonConvert.SerializeObject
但在處理不一定的筆數的明細時, 卡住了

json 第一層 etl_change
json 第二層 etl_主檔
第三層 RECORD
第四層 主檔欄位
json 第二層 etl_明細
第三層 RECORD
第四層 主檔欄位
第三層 RECORD
第四層 主檔欄位 (視筆數)

所以我類別宣告也是
etl_root
public etl_主檔 etl_主檔 { get; set; }
public etl_明細 etl_明細 { get; set; }

etl_主檔
public etl_主檔RECORD RECORD { get; set; }

etl_主檔RECORD
主檔欄位 ...

etl_明細
public etl_明細RECORD[] RECORD { get; set; } // 這邊用了陣列

etl_明細RECORD
明細欄位 ...

程式
etl_root etl_root = new etl_root ();
etl_主檔 send_etl_主檔 = new etl_主檔();
etl_明細 send_etl_明細 = new etl_明細();
etl_root.etl_主檔 = send_etl_主檔 ;
etl_root.etl_明細 = send_etl_明細 ;

抓主檔資料
etl_主檔RECORD etl_field = new etl_主檔RECORD() ;
etl_root.etl_主檔.RECORD = etl_field;

但在明細資料 迴圈中
etl_明細RECORD etl_明細field = new etl_明細RECORD() ;

sendETL_DISCD.RECORD[i] = ETL_DISCD; //第一筆 i= 0 就 出現並未將物件參考設定為物件的執行個體

是我構思錯了嗎? 應該如何修改, 主要是需要方便撈資料庫 組json 字串



搜尋相關Tags的文章: [ JsonConvert ] , [ class ] , [ array ] ,
本篇文章發表於2020-06-16 16:06
== 簽名檔 ==
新手, 帥氣XD
1樓
作者回應

龍貓王
檢舉此回應
後來改用 public List<etl_明細RECORD> RECORD { get; set; }
就可以了, 謝謝
本篇文章回覆於2020-06-17 09:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.