from 浅谈使用java解析和生成JSON_java_脚本之家
import java.io.*;
import com.google.gson.*;
public class Test_gson {
// json test
public static void main(String[] args) throws Exception {
if (args.length !=2){
System.out.println(" usage: java -cp gson-2.jar;. Test_gson json.txt test.txt");
return;
}
File file = new File(args[0]);
if (!file.exists()){
System.out.println(" File is not exists: "+ args[0]);
return;
}
// 创建json解析器
JsonParser parser = new JsonParser();
// 使用解析器解析json数据,返回值是JsonElement,强制转化为其子类JsonObject类型
JsonObject obj = (JsonObject) parser.parse(new FileReader(args[0]));
System.out.println(" total:"+ obj.get("total").getAsString());
JsonArray rows = obj.getAsJsonArray("rows");
System.out.println(" rows: "+ rows.size());
PrintWriter out = null;
try {
out = new PrintWriter(new File(args[1]).getAbsoluteFile());
StringBuffer sb = new StringBuffer();
// 遍历JSON数组
for (JsonElement jsonElement : rows) {
JsonObject row = jsonElement.getAsJsonObject();
sb.append(row.get("id").getAsString()); sb.append(",");
/* ... */
// 输出到文件
out.println(sb.toString());
sb.delete(0,sb.length());
}
} catch (IOException ex){
ex.printStackTrace();
} finally {
if (out != null) out.close();
}
}
}