當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
简单直接的方法解析JSON数据
生活随笔
收集整理的這篇文章主要介紹了
简单直接的方法解析JSON数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個方式是給不想用或者不會用JSON解析工具的人做參考,代碼不算好,有意見的可以提,一起交流。
//前端傳進來的Json數據如下: //"name-inputEl":"21","email-inputEl":"","phone-inputEl":"21","sex":"1","birthday-inputEl":"2017-01-05","hobby":["1","2"]利用字符串截取的方法分別獲每一個需要的數據。package july.star.map.sys.service; import java.util.HashMap; import july.star.map.sys.dao.UserDao; import july.star.map.sys.model.User; /*** 用戶業務層** @author MoXingJian* @email 939697374@qq.com* @date 2017年1月5日 下午2:31:32* @version 1.0*/ public class UserService {User user = new User();UserDao userDao = new UserDao();/** 兩個方法的區別是對json數據中的hobby是否有多選進行不同的操作,* 多選是有[ ],例如:"hobby":["1","2"]* 單選就是沒有,例如:"hobby":"1",* 以下是對不同的方法進行操作* */// 解析Jsonpublic void analyzeJson(String formJson) {// "name-inputEl":"21","email-inputEl":"","phone-inputEl":"21","sex":"1","birthday-inputEl":"2017-01-05","hobby":["1","2"]String substring = formJson.substring(1, formJson.length() - 1);String s1 = substring.substring(0, substring.lastIndexOf(",\"hobby"));System.out.println(s1);String[] split1 = s1.split(",");for (String string : split1) {if (string.contains("name")) {String name = string.substring(string.lastIndexOf(":\"") + 2, string.lastIndexOf("\""));user.setUserName(name);// System.out.println(name);}if (string.contains("email")) {String email = string.substring(string.lastIndexOf(":\"") + 2, string.lastIndexOf("\""));user.setEmail(email);// System.out.println(email);}if (string.contains("phone")) {String phone = string.substring(string.lastIndexOf(":\"") + 2, string.lastIndexOf("\""));user.setPhoneNumber(phone);// System.out.println(phone);}if (string.contains("sex")) {String sex = string.substring(string.lastIndexOf(":\"") + 2, string.lastIndexOf("\""));Integer s = Integer.valueOf(sex);user.setSex(s);// System.out.println(s);}if (string.contains("birthday")) {String birthday = string.substring(string.lastIndexOf(":\"") + 2, string.lastIndexOf("\""));user.setBirthday(birthday);// System.out.println(birthday);}}String hobby = substring.substring(substring.lastIndexOf("hobby"));// "1","2","3","4"// 如果只有一個那就會出錯String str = hobby.substring(hobby.lastIndexOf("[") + 1, hobby.lastIndexOf("]"));String[] split = str.split(",");HashMap map = new HashMap();for (String s : split) {if (s.contains("1")) {map.put("1", "運動");}if (s.contains("2")) {map.put("2", "聽音樂");}if (s.contains("3")) {map.put("3", "睡覺");}if (s.contains("4")) {map.put("4", "其他");}}user.setHobby(map);// 保存數據到數據庫userDao.saveUser(user);// 遍歷輸出數據/** Iterator iterator = map.entrySet().iterator();* while(iterator.hasNext()){ Map.Entry entry =* (Map.Entry)iterator.next(); System.out.print(entry.getKey());* System.out.println(entry.getValue()); }*/}// 簡單的分析數據public void anotherAnalyzeJson(String formJson) {//{"name-inputEl":"23","email-inputEl":"123!@qq.com","phone-inputEl":"32","sex":"1","birthday-inputEl":"2017-01-05","hobby":"1"}String substring = formJson.substring(1, formJson.length() - 1);System.out.println(substring);String[] split1 = substring.split(",");for (String string : split1) {if (string.contains("name")) {String name = string.substring(string.lastIndexOf(":\"") + 2, string.lastIndexOf("\""));user.setUserName(name);// System.out.println(name);}if (string.contains("email")) {String email = string.substring(string.lastIndexOf(":\"") + 2, string.lastIndexOf("\""));user.setEmail(email);// System.out.println(email);}if (string.contains("phone")) {String phone = string.substring(string.lastIndexOf(":\"") + 2, string.lastIndexOf("\""));user.setPhoneNumber(phone);// System.out.println(phone);}if (string.contains("sex")) {String sex = string.substring(string.lastIndexOf(":\"") + 2, string.lastIndexOf("\""));Integer s = Integer.valueOf(sex);user.setSex(s);// System.out.println(s);}if (string.contains("birthday")) {String birthday = string.substring(string.lastIndexOf(":\"") + 2, string.lastIndexOf("\""));user.setBirthday(birthday);// System.out.println(birthday);}if (string.contains("hobby")) {String hobby = string.substring(string.lastIndexOf(":\"") + 2, string.lastIndexOf("\""));HashMap map = new HashMap();if (hobby.contains("1")) {map.put("1", "運動");}if (hobby.contains("2")) {map.put("2", "聽音樂");}if (hobby.contains("3")) {map.put("3", "睡覺");}if (hobby.contains("4")) {map.put("4", "其他");}user.setHobby(map);}}// 保存數據到數據庫userDao.saveUser(user);} }總結
以上是生活随笔為你收集整理的简单直接的方法解析JSON数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模仿京东登录页面
- 下一篇: Spring全局异常捕捉实现Handle