Skip to content

Instantly share code, notes, and snippets.

@jottinger
Created September 19, 2017 18:34
Show Gist options
  • Save jottinger/1f8a31403d27e878670352cfbeab8fb4 to your computer and use it in GitHub Desktop.
Save jottinger/1f8a31403d27e878670352cfbeab8fb4 to your computer and use it in GitHub Desktop.
/*
* This build file was generated by the Gradle 'init' task.
*
* This generated file contains a commented-out sample Java project to get you started.
* For more details take a look at the Java Quickstart chapter in the Gradle
* user guide available at https://docs.gradle.org/4.1/userguide/tutorial_java_projects.html
*/
// Apply the java plugin to add support for Java
apply plugin: 'java'
// In this section you declare where to find the dependencies of your project
repositories {
// Use 'jcenter' for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
// In this section you declare the dependencies for your production and test code
dependencies {
// The production code uses the SLF4J logging API at compile time
compile 'org.slf4j:slf4j-api:1.7.25'
// https://mvnrepository.com/artifact/com.google.code.gson/gson
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.1'
// Declare the dependency for your favourite test framework you want to use in your tests.
// TestNG is also supported by the Gradle Test task. Just change the
// testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
// 'test.useTestNG()' to your build script.
testCompile 'junit:junit:4.12'
}
[
{
"key_name_1": "val1"
},
{
"key_name_1": "val2"
},
{
"key_name_1": "val3"
},
{
"key_name_1": "val3"
}
]
class java.util.ArrayList
class com.google.gson.internal.LinkedTreeMap
class com.google.gson.internal.LinkedTreeMap
class com.google.gson.internal.LinkedTreeMap
class com.google.gson.internal.LinkedTreeMap
val1
class java.util.ArrayList
class com.google.gson.internal.LinkedTreeMap
package snf;
import com.google.gson.Gson;
import org.junit.Test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.StringJoiner;
public class ParsingTests {
String readFromInput(String resourceName) {
StringJoiner sj = new StringJoiner("\n");
try (InputStream in =
ParsingTests.class.getResourceAsStream(resourceName)) {
BufferedReader br =
new BufferedReader(new InputStreamReader(in, "UTF-8"));
for (String line = br.readLine();
line != null;
line = br.readLine()) {
sj.add(line);
}
} catch (IOException e) {
throw new RuntimeException(resourceName + " cannot be loaded.", e);
}
return sj.toString();
}
@Test
public void testParsing() {
Gson gson = new Gson();
List data = gson.fromJson(readFromInput("/first.json"), ArrayList.class);
System.out.println(data.getClass());
data.stream().map( s -> s.getClass()).forEach(System.out::println);
}
@Test
public void testParsing2() {
Gson gson = new Gson();
List data = gson.fromJson(readFromInput("/second.json"), ArrayList.class);Map layer2= (Map) data.get(0); System.out.println(layer2.get("key1"));
System.out.println(data.getClass());
data.stream().map( s -> s.getClass()).forEach(System.out::println);
}
}
[
{
"key_name_1": "val3",
"key1": "val1",
"key2": "val2"
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment