处理json中影响解析的多余引号
生活随笔
收集整理的這篇文章主要介紹了
处理json中影响解析的多余引号
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在xml中,敏感字符是尖括號(hào),在json中,敏感字符是引號(hào),上文中我們介紹了如何處理xml中的敏感字符,本文說(shuō)說(shuō)如何處理json中的敏感字符。
思路與上文相同,不再贅述。直接上代碼:
json–>javaBean
json–>List
@Testpublic void test2() {String json = "[{\"id\":\"1\",\"name\":\"紅\"樓\"'夢(mèng)\",\"price\":\"90\",\"author\":\"曹雪芹\"},{\"id\":\"2\",\"name\":\"西游\"\"記\",\"price\":\"45\",\"author\":\"wuche\"ngen\"}]";List<String> tags = new ArrayList<String>();Pattern pattern = Pattern.compile("\\\"([a-zA-Z0-9]*)\\\":");Matcher m = pattern.matcher(json);while (m.find()) {tags.add(m.group(1));}for (int i = 0; i < tags.size(); i++) {json = json.replaceAll("\\\"" + tags.get(i) + "\\\"","^^" + tags.get(i) + "^^").replaceAll(":\\\"", ":^^").replaceAll("\\\",", "^^,");}json = json.replaceAll("\\\"}", "^^}").replaceAll("\"", "~~");json = json.replace("^^", "\"");ObjectMapper mapper = new ObjectMapper();try {List<Book> books = mapper.readValue(json,new TypeReference<ArrayList<Book>>() {});for (Book book : books) {book.setName(book.getName().replace("~~", "\""));book.setAuthor(book.getAuthor().replace("~~", "\""));System.out.println("作者:" + book.getAuthor() + "\n書(shū)名:"+ book.getName());}} catch (IOException e) {e.printStackTrace();}}這兩段關(guān)于json的處理基本是一致的。
轉(zhuǎn)載于:https://www.cnblogs.com/qitian1/p/6461813.html
總結(jié)
以上是生活随笔為你收集整理的处理json中影响解析的多余引号的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [转载] 数据库分析手记 —— Inno
- 下一篇: Behavior Trees