Skip to content

Instantly share code, notes, and snippets.

@911992
Created October 10, 2020 21:24
Show Gist options
  • Save 911992/0d75e82a00ba0c57fa6008b7d9589487 to your computer and use it in GitHub Desktop.
Save 911992/0d75e82a00ba0c57fa6008b7d9589487 to your computer and use it in GitHub Desktop.
gson MutableJsonReader example
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/*
sample_code_java0
File: json_mutable_reader_test.java
Created on: Oct 10, 2020 12:04:38 PM
@author https://github.com/911992
History:
initial version: 0.1(20201010)
*/
package json_mutable_test;
import com.google.gson.stream.MutableJsonReader;
import java.io.StringReader;
import junit.framework.TestCase;
/**
*
* @author https://github.com/911992
*/
public class json_mutable_reader_test extends TestCase{
public void testMutability() throws Exception{
MutableJsonReader _shared_reader = new MutableJsonReader();
final String _a = "happy";
final String _b = "opensource";
String _val = "911";
String _json=String.format("{\"%s\":\"%s\",\"%s\":\"%s\"}", _a,_val,_b,_val);
StringReader _str_reader = new StringReader(_json);
_shared_reader.reset(_str_reader);
String _a_name,_b_name;
String _a_val,_b_val;
_shared_reader.beginObject();
_a_name = _shared_reader.nextName();
assertEquals(_a_name, _a);
_a_val = _shared_reader.nextString();
assertEquals(_a_val, _val);
_b_name = _shared_reader.nextName();
assertEquals(_b_name, _b);
_b_val = _shared_reader.nextString();
assertEquals(_b_val, _val);
_shared_reader.endObject();
_shared_reader.close();
System.out.printf("Run 0:\n");
System.out.printf("json to read: %s\n",_json);
System.out.printf("%s:%s(%s) , %s:%s(%s)\n",_a,_a_val,_val,_b,_b_val,_val);
System.out.printf("Pass:%s\n",Boolean.toString((_a_val.equals(_val))&&(_b_val.equals(_val))));
System.out.println("");
_val ="992";
_json=String.format("{\"%s\":\"%s\",\"%s\":\"%s\"}", _a,_val,_b,_val);
_str_reader = new StringReader(_json);
_shared_reader.reset(_str_reader);
_shared_reader.beginObject();
_a_name = _shared_reader.nextName();
assertEquals(_a_name, _a);
_a_val = _shared_reader.nextString();
assertEquals(_a_val, _val);
_b_name = _shared_reader.nextName();
assertEquals(_b_name, _b);
_b_val = _shared_reader.nextString();
assertEquals(_b_val, _val);
_shared_reader.endObject();
_shared_reader.close();
System.out.printf("Run 1:\n");
System.out.printf("json to read: %s\n",_json);
System.out.printf("%s:%s(%s) , %s:%s(%s)\n",_a,_a_val,_val,_b,_b_val,_val);
System.out.printf("Pass:%s\n",Boolean.toString((_a_val.equals(_val))&&(_b_val.equals(_val))));
System.out.println("");
}
public static void main(String[] args) throws Throwable{
new json_mutable_reader_test().testMutability();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment