解析.json格式文件
{
"version":"1.1",
"parts":{
"cheek":{
"zPosition":2,
"width":220,
"height":102,
"triggerStop":false,
"scale":{
"scaleX":{
"pointA":[{"x":66.0,"y":8.0,"index":74}],
"pointB":[{"x":154.0,"y":5.0,"index":77}]
},
"scaleY":{
"pointA":[],
"pointB":[]
}
},
"position":{
"positionX":[{"x":66.0,"y":8.0,"index":74},{"x":154.0,"y":5.0,"index":77}],
"positionY":[]
},
"rotateCenter":[
{"x":110.0,"y":68.0,"index":46}
]
}
}
}
private String readFileFromAsset(String fileName){
BufferedReader reader = null;
InputStream inputStream = null;
StringBuilder builder = new StringBuilder();
try{
inputStream = getAssets().open(fileName);
reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while((line = reader.readLine()) != null)
{
builder.append(line);
builder.append("\n");
}
} catch (IOException ioe){
ioe.printStackTrace();
} finally {
if(inputStream != null)
{
try {
inputStream.close();
} catch (IOException ioe){
ioe.printStackTrace();
}
}
if(reader != null)
{
try {
reader.close();
} catch (IOException ioe)
{
ioe.printStackTrace();
}
}
}
return builder.toString();
}
带中括号的为数组;
Boolean型的使用:booleanValue()
解析:
JSON products = new JSON(readFileFromAsset("rabbit.json"));
String version = products.key("version").stringValue();
JSON rabbit_part = products.key("parts").key("cheek");
boolean bb = rabbit_part.key("triggerStop").booleanValue();
String a = rabbit_part.key("scale").key("scaleX").key("pointA").stringValue();
Log.e("json", "===" + a + "===");
float b = rabbit_part.key("scale").key("scaleX").key("pointA").index(0).key("x").doubleValue().floatValue();
Log.e("json", "===" + b + "===");