Skip to content

Instantly share code, notes, and snippets.

@leonardossz
Last active January 10, 2017 09:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save leonardossz/385adfeb98ec8989f68445be2125a6a0 to your computer and use it in GitHub Desktop.
Save leonardossz/385adfeb98ec8989f68445be2125a6a0 to your computer and use it in GitHub Desktop.
From JsonArray to List using _only_ the Java portable API.
import org.testng.Assert;
import org.testng.annotations.Test;
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonObject;
import javax.json.JsonReader;
import java.io.StringReader;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class JsonTest {
static String dataStr =
"[{\"name\":\"name1\"}," +
"{\"name\":\"name2\"}," +
"{\"name\":\"name3\"}," +
"{\"name\":\"name4\"}," +
"{\"name\":\"name5\"}," +
"{\"name\":\"name6\"}," +
"{\"name\":\"name7\"}]";
@Test
public void jsonArrayToListTest() {
try (JsonReader reader = Json.createReader(new StringReader(dataStr))) {
JsonArray arr = reader.readArray();
List<String> l = arr.getValuesAs(JsonObject.class)
.stream().map(o -> o.getString("name")).collect(Collectors.toList());
Assert.assertEquals(Arrays.asList("name1", "name2", "name3", "name4", "name5", "name6", "name7"), l);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment