简体   繁体   English

如何将 CSV 格式化字符串数组转换为 JSON 对象数组

[英]How to Convert array of CSV formatted Strings into an array of JSON objects

My code as follows:我的代码如下:

private static JsonArray convertExternalLeadDataToJson(String input[]) {
    JsonArray output = new JsonArray();

    // Loop through each CSV row in array
    for (int i = 0; i < input.length; i++) {
        // Split CSV row into separate fields
        List items = Arrays.asList(input[i].split(","));

        // Add fields to JSON object
        JsonObject lead = new JsonObject();
       
        
          lead.add("firstName", items.get(0)); 
          lead.add("lastName", items.get(1)); 
          lead.add("email", items.get(2)); 
          lead.add("title", items.get(3));
         
        output.add(lead);
    }
    return output;
}

For this I am getting error as "The method add(String, int) in the type JsonObject is not applicable for the arguments (String, Object)".为此,我收到错误,因为“JsonObject 类型中的方法 add(String, int) 不适用于 arguments (String, Object)”。

Can anyone help to resolve this issue?任何人都可以帮助解决这个问题吗?

Thanks.谢谢。

You can use JsonObjectBuilder , it helps to create a Json object.您可以使用JsonObjectBuilder ,它有助于创建 Json object。

JsonBuilderFactory factory = Json.createBuilderFactory();
for (int i = 0; i < input.length; i++) {
        // Split CSV row into separate fields
        List items = Arrays.asList(input[i].split(","));

        // Add fields to JSON object
        JsonObject lead = factory.createObjectBuilder()
            .add("firstName", items.get(0))
            .add("lastName", items.get(1))
            .add("email", items.get(2)) 
            .add("title", items.get(3))
            .build();
         
        output.add(lead);
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM