/**
* JSON to CSV (v1.3)
* GoToLoop (2018/Jul/12)
* https://Discourse.Processing.org/t/iterate-throw-json-array-values/1710/3
*/
JSONObject json = loadJSONObject("data.json");
JSONObject facets = json.getJSONObject("facet_counts").getJSONObject("facet_fields");
JSONArray jsonArr = facets.getJSONArray("structHasAuthIdHal_fs");
Table t = new Table();
int[] colTypes = { Table.STRING, Table.STRING, Table.STRING, Table.INT };
t.setColumnTypes(colTypes);
for (int size = jsonArr.size(), i = 0; i < size; i += 2) {
TableRow tr = t.addRow();
String[] strings = trim(split(jsonArr.getString(i), ','));
for (int j = 0; j < 3; tr.setString(j, strings[j++]));
tr.setInt(3, jsonArr.getInt(i+1));
}
t.print();
saveTable(t, dataPath("data.csv"));
exit();
{
"response": {
"numFound": 1587807,
"start": 0,
"docs": []
},
"facet_counts": {
"facet_queries": {},
"facet_fields": {
"structHasAuthIdHal_fs": [
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_Nathalie",
47,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep_dario-r-varela-fernandez_FacetSep_Varela",
13,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep_sylviane_FacetSep_Llinares",
10,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_Vu Thanh",
7,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep_celine-borello_FacetSep_Borello",
5,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_Blaudeau ",
3,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_Niget ",
3,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_Pierre ",
3,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_Granger",
2,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_ Hervé",
2,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_ Sylviane",
2,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_ Didier",
1,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_ François",
1,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_ Yves",
1,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_ Christophe",
1,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_ Romain",
1,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_ Valentin",
1,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep Jörg",
1,
"527157_FacetSep_Temps, Mondes, Sociétés_JoinSep__FacetSep_Céline",
0
]
},
"facet_ranges": {},
"facet_intervals": {},
"facet_heatmaps": {}
}
}