是我 也不會 文件 結構體 反序列化 暴露 信息保存 因此 頭文件

在工程中遇到以下情況:

為了進行相對底層的測試,需要將中間的算法結果傳遞到上層,在開始實現的時候,使用的方法是,在輸出結構體中添加一個成員結構體,然後將需要測試的東西都塞入這個結構體,供上層解析;

這樣實現的缺點如下:

1、由於信息需要存儲到數據庫中的某些字段,因此我這邊上傳給軟件層之後,他們還會進行解析存儲,這樣的話,我每次更新結構體之後,軟件層都需要做相應的改動;

2、由於需要將更多的信息暴露給上層,因此會有很多的結構體定義,有些還會與內部已經定義的結構體重復,如果全部剪過來,那麽接口文件會變得很長,如果直接包含相應 的頭文件,與軟件部同步的接口文件又會增多;

解決方法:

由於這個是測試時使用,流程是我這裏生成,測試那邊解析,然後核對

因此可以將所有的結構體信息保存在json字符串中,最終我對於軟件部上傳的就只有一個json字符串 ,對於增刪改都會魯棒;

另外,也不會涉及到接口過多或過長的問題,我的結構體定義就不必暴露在接口中,可以放在任何一個方便獲取其他結構體定義的函數中,對其進行賦值之後,轉成json字符串,然後將該字符串塞出去即可;

測試時這麽做是很方便的,麻煩的地方就是json的序列化與反序列化;

實現之後會附上相應的博客;

接口傳遞過程中遇到的問題以及解決方法