import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.json.simple.*;
import org.json.simple.parser.*;
import org.json.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class main {
/**
* @param args
* @throws IOException
*/
static String changeString(String s1, String s2, int s3){
String str;
Object obj1=JSONValue.parse(s1);
JSONParser parser = new JSONParser();
KeyFinder finder = new KeyFinder();
finder.setMatchKey(s2);
try{
while(!finder.isEnd()){
parser.parse(s1, finder, true);
if(finder.isFound()){
finder.setFound(false);
if (s3-- < 0){
break;
}
}
}
}
catch(ParseException pe){
pe.printStackTrace();
}
return finder.getValue().toString();
}
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
File file = new File("test1.json");
BufferedReader bf = new BufferedReader(new FileReader(file));
String content = "";
StringBuilder sb = new StringBuilder();
while(content != null){
content = bf.readLine();
if(content == null){
break;
}
sb.append(content.trim());
}
//System.out.println(sb.toString());
String s1,s2;
String str = sb.toString();
Object obj1=JSONValue.parse(str);
System.out.println(changeString(str, "longAxis", 8));
JSONParser parser = new JSONParser();
KeyFinder finder = new KeyFinder();
finder.setMatchKey("longAxis");
try{
while(!finder.isEnd()){
parser.parse(str, finder, true);
if(finder.isFound()){
finder.setFound(false);
System.out.println(finder.getValue());
}
}
}
catch(ParseException pe){
pe.printStackTrace();
}
}
}
从格式不确定的json中读取键值对
4星 · 超过85%的资源 需积分: 50 179 浏览量
2013-04-16
15:50:21
上传
评论 3
收藏 6KB RAR 举报
MrChen19881124
- 粉丝: 5
- 资源: 7