sax解析json字符串代码:
public String saxParser(String queryStr){
String queryResult = "";
try {
InputStream inputStream = new ByteArrayInputStream(queryStr.getBytes("UTF-8"));
//实例化SAX工厂类
SAXParserFactory factory = SAXParserFactory.newInstance();
//实例化SAX解析器。
SAXParser sParser = factory.newSAXParser();
//实例化工具类MyHandler,设置需要解析的节点
OtherHandler myHandler = new OtherHandler();
// 开始解析
sParser.parse(inputStream, myHandler);
// 解析完成之后,关闭流
inputStream.close();
queryResult = myHandler.getStatus();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return queryResult;
}
解析实体类
public class OtherHandler extends DefaultHandler {
String sb;
String status;
public String getStatus(){
return status;
}
public OtherHandler() {
super();
}
@Override
public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException {
// String name = localName;
// if ("".equals(name))
// name = qName;
}
@Override
public void characters(char[] ch, int offset, int length)
throws SAXException {
sb = new String(ch, offset, length);
}
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
String name = localName;
if ("".equals(localName))
name = qName;
if (name.equals("status")) {
status = sb;
}
}
}