首页天道酬勤java生成json文件,Java解析json

java生成json文件,Java解析json

张世龙 05-05 13:53 36次浏览

试图分析Java的JSON字符串以找到键-值对。 这是因为不知道JSON字符串的对象结构,所以可以检查JSON对象的近似结构。

例如,假设运行中包含以下JSON字符串:

{'id' : 12345,' days' : [ 'Monday ',' Wednesday' ],' person ' : { ' first name ' : ' David ',' lason }

另一个是这样的:

{'url' : 'http://someurl.com ',' method' : 'POST ',' isauth' : false }

如何循环使用各种JSON元素并确定键及其值? 我在看杰克逊-酷睿的约翰逊解析器。 我知道如何获取下一个“令牌”并确定令牌类型(字段名称、值、数组开头等),但不知道如何获取实际令牌的值。

例如:

公共语音透视(字符串JSON ) {

try {

JsonFactory f=new JsonFactory (;

jsonparserparser=f.create parser (JSON;

jsontokentoken=parser.next token (;

wile (东京!=空) {

if (token.equals (JSON token.start _ array ) ) )。

Logger.debug(StartArray: ) Token.Tostring );

}elseif(Token.equals ) JsonToken.end_Array ) ) ) )。

logger.debug (结束阵列: ) Token.tostring );

} else if (token.equals (JSON token.start _ object ) ) ) ) ) ) )。

logger.debug (开始对象: ) token.tostring );

} else if (token.equals (JSON token.end _ object ) ) ) ) ) ) )。

logger.debug(endobject: ) token.tostring );

}elseif(Token.equals ) JsonToken.field_name ) ) )。

logger.debug (' field name : ' token.tostring );

} else if (token.equals (JSON token.value _ false ) ) ) ) ) ) )。

logger.debug (' value false : ' token.tostring );

} else if (token.equals (JSON token.value _ null ) ) ) ) )。

logger.debug (' value null : ' token.tostring );

} else if (token.equals (JSON token.value _ number _ float ) ) ) )。

logger.debug (' valuenumberfloat : ' token.tostring ) );

} else if (token.equals (JSON token.value _ number _ int ) ) ) ) ) )。

logger.debug (' valuenumberint : ' token.tostring ) );

} else if (token.equals (JSON token.value _ string ) ) )。

logger.debug (' value string : ' token.tostring );

} else if (token.equals (JSON token.value _ true ) ) ) ) ) ) )。

jackson或其他库、gson或simple-json是否有生成树的类? 或者,是否允许类在json元素中循环以获取非值的实际键名?

java map转json字符串,json对象转java对象