| import org.codehaus.jackson.*; |
| public static void main(String[] args) |
| System.err.println("Usage: java ... TestParser [file]"); |
| JsonFactory f = new JsonFactory(); |
| JsonParser jp = f.createJsonParser(new File(args[0])); |
| //JsonParser jp = f.createJsonParser(new InputStreamReader(new FileInputStream(args[0]), "UTF-8")); |
| jp.enableFeature(JsonParser.Feature.ALLOW_COMMENTS); |
| System.out.println("Parser: "+jp); |
| while ((t = jp.nextToken()) != null) { |
| System.out.print("Token: "+t); |
| if (t == JsonToken.FIELD_NAME) { |
| //String name = new String(jp.getTextCharacters(), jp.getTextOffset(), jp.getTextLength()); |
| String name = jp.getCurrentName(); |
| System.out.print(", name = '"+name+"' (len: "+name.length()+")"); |
| int ix = name.indexOf('\0'); |
| throw new RuntimeException("Null byte for name, at index #"+ix); |
| } else if (t.toString().startsWith("VALUE")) { |
| if (t == JsonToken.VALUE_STRING) { |
| System.out.print(" [len: "+jp.getTextLength()+"]"); |
| System.out.print(", value = \""+jp.getText()+"\""); |