簡體   English   中英

如何使用java將順序JSON對象轉換為csv

[英]How to convert sequential JSON objects into csv using java

我有一個 JSON 文件,其數據格式如下

{"sum_message_count":"66","api_product":"Test1","response_status_code":"200"}
{"sum_message_count":"8","api_product":"Test2","response_status_code":"201"}
{"sum_message_count":"2","api_product":"Test3","response_status_code":"201"}
{"sum_message_count":"62","api_product":"Test4","response_status_code":"201"}


So I want these JSON objects into csv as following

sum_message_count api_product response_status_code 66 Test1 200 8 Test2 201 2 Test3 201 22 Test4 201

有人可以幫助解決java(主程序)中的代碼片段嗎

String input = "[" +
            "{\"sum_message_count\":\"66\",\"api_product\":\"Test1\",\"response_status_code\":\"200\"},\n" +
            "{\"sum_message_count\":\"8\",\"api_product\":\"Test2\",\"response_status_code\":\"201\"},\n" +
            "{\"sum_message_count\":\"2\",\"api_product\":\"Test3\",\"response_status_code\":\"201\"},\n" +
            "{\"sum_message_count\":\"62\",\"api_product\":\"Test4\",\"response_status_code\":\"201\"}" +
            "]";
    List<String> headers = Arrays.asList("sum_message_count", "api_product", "response_status_code");
    ObjectMapper mapper = new ObjectMapper();
    List<Object> messages = mapper.readValue(input, List.class);
    StringBuilder data = new StringBuilder();
    for (int i = 0; i < messages.size(); i++) {
        LinkedHashMap<String, String> msg = (LinkedHashMap<String, String>) messages.get(i);
        data.append(String.format("%s %s %s ",
                msg.get(headers.get(0)),
                msg.get(headers.get(1)),
                msg.get(headers.get(2))));
    }

    System.out.println(headers);
    System.out.println(data.toString());

  //write file here 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM