這個方式是給不想用或者不會用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 [email protected]
* @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",
* 以下是對不同的方法進行操作
* */
// 解析Json
public 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":"[email protected]","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);
}
}