我试图解析Java中的JSON字符串并找到键值对,以便我可以确定JSON对象的近似结构,因为JSON字符串的对象结构是未知的.
例如,一个执行可能有一个像这样的JSON字符串:
{"id" : 12345, "days" : [ "Monday", "Wednesday" ], "person" : { "firstName" : "David", "lastName" : "Menoyo" } }
Run Code Online (Sandbox Code Playgroud)
而另一个像这样:
{"url" : "http://someurl.com", "method" : "POST", "isauth" : false }
Run Code Online (Sandbox Code Playgroud)
我如何循环遍历各种JSON元素并确定键及其值?我看着jackson-core的JsonParser.我看到我如何抓住下一个"令牌"并确定它是什么类型的令牌(即字段名称,值,数组启动等),但是,我不知道如何获取实际令牌的值.
例如:
public void parse(String json) {
try {
JsonFactory f = new JsonFactory();
JsonParser parser = f.createParser(json);
JsonToken token = parser.nextToken();
while (token != null) {
if (token.equals(JsonToken.START_ARRAY)) {
logger.debug("Start Array : " + token.toString());
} else if (token.equals(JsonToken.END_ARRAY)) {
logger.debug("End Array …Run Code Online (Sandbox Code Playgroud)