![](/img/trans.png)
[英]How do I convert dynamic class to json or java file in Frida
[英]How do I convert a dynamic JSON array to a CSV in Java
我正在嘗試從動態生成的JSON數組創建CSV文件。 例如:
"People" :
[{"name" : "Bob", "age" : 5 },
{"dob" : "5/2/4", "name" : "Alice"},
{"name" : "George"}]
將創建csv文件
name, age, dob
Bob, 5,
Alice, , 5/2/4
George, ,
如您所見,我需要為JSON數組中的每個字段創建一列。 JSON數組中每個鍵值對的順序都是隨機的。 我也事先不知道鍵的名稱。 不用擔心“ People”字段,每個JSON中只有一個數組。 (這將是CSV名稱)。
我嘗試使用Jackson CSV庫,但這需要我創建一個預定義的POJO作為中間層(JSON-> POJO-> CSV)。 據我所知,Java不允許我在運行時動態生成類的成員變量,因此該方法將不起作用。 與GSON相同。
我將需要在大型數據集上執行此操作,因此效率將是關鍵。 解決這個問題的最佳方法是什么?
使用流API解析json數據。 Jackson庫或json-simple支持JSON數據的流解析。 要生成CSV,請使用opencsv中的CSVWriter。
您可以使用庫json2flat 。 它不需要任何POJO即可進行轉換。
您只需要將JSON作為字符串傳遞即可。
對於以下JSON:
{
"People" :
[
{"name" : "Bob", "age" : 5 },
{"dob" : "5/2/4", "name" : "Alice"},
{"name" : "George"}
]
}
輸出為:
/People/name,/People/age,/People/dob
"Bob",5,
"Alice",,"5/2/4"
"George",,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.