git 冲突消除
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash
git pull
git stash pop
修改之后 git add -> git commit . -m "comment " -> git push
然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:
git reset --hard
git pull
针对文件回滚
git checkout HEAD file/to/restore
Fastjson操作
主要方法如下
1. JavaBean
Person person = JSONObject.parseObject(jsonString, Person.class);
2. List<JavaBean>
List<Person> listPerson =JSONArray.parseArray(jsonString, Person.class);
3. List<String>
List<String> listString = JSONArray.parseArray(jsonString, String.class);
4. List<Map<String,Object>>
List<Map<String, Object>> listMap = JSONObject.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){});
便于理解,方法原型
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
// parseObject
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
// parseArray
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
// ToJSONString
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。
String json = JSONObject.toJSONString(lstMap,true); 设置为true会以友好的方式打印出json
Demo 如下
public class TestJson {
/**
* 输出
* LIMING:黎明 ANDY_LAU:刘德华 JACKIE_ZHANG:张学友 Aaron_Kwok:郭富城
*/
@Test
public void testJson(){
String jsonStr = "{\"JACKIE_ZHANG\":\"张学友\",\"ANDY_LAU\":\"刘德华\",\"LIMING\":\"黎明\",\"Aaron_Kwok\":\"郭富城\"}" ;
JSONObject jsonObject = JSONObject.parseObject(jsonStr);
for (Map.Entry<String, Object> objectEntry : jsonObject.entrySet()) {
System.out.print(objectEntry.getKey()+":"+objectEntry.getValue()+" ");
}
}
@Test
public void testGroup(){
Group group = new Group();
group.setId(0L);
group.setName("admin");
User guestUser = new User();
guestUser.setId(2L);
guestUser.setName("guest");
User rootUser = new User();
rootUser.setId(3L);
rootUser.setName("root");
group.getUsers().add(guestUser);
group.getUsers().add(rootUser);
String jsonString = JSON.toJSONString(group);
System.out.println(jsonString);
JSONObject jsonObject = JSONObject.parseObject(jsonString);
String jsonArray = jsonObject.get("users").toString();
// 输出 [{"id":2,"name":"guest"},{"id":3,"name":"root"}]
System.out.println(jsonArray);
List<User> users= JSONArray.parseArray(jsonArray,User.class);
for (User user : users) {
// 输出 User{id=2, name='guest'}
// User{id=3, name='root'}
System.out.println(user);
}
}
/** 使用List<Map<String,Object>> 取得tag里面的值
* [
{
"1":"Tom",
"metric":"sys.cpu",
"ob":{
"id":11,
"name":"Tom"
}
},
{
"1":"Jerry",
"metric":"sys.mem",
"ob":{
"id":22,
"name":"Jerry"
}
}
]
*/
@Test
public void testListMap(){
User user = new User();
user.setId(11L);
user.setName("Tom");
User user2 = new User();
user2.setId(22L);
user2.setName("Jerry");
Map<String, Object> hm = new HashMap<String, Object>();
hm.put("1","Tom");
hm.put("metric","sys.cpu");
hm.put("ob",user);
Map<String, Object> hm2 = new HashMap<String, Object>();
hm2.put("1","Jerry");
hm2.put("metric","sys.mem");
hm2.put("ob",user2);
List<Map<String, Object>> lstMap = new ArrayList<Map<String, Object>>();
lstMap.add(hm);
lstMap.add(hm2);
String json = JSONObject.toJSONString(lstMap,true);
System.out.println(json);
List<Map<String, Object>> maps = JSONObject.parseObject(json, new TypeReference<List<Map<String, Object>>>(){});
for (Map<String, Object> map : maps) {
JSONObject jsonObject = JSONObject.parseObject(map.get("ob").toString());
System.out.println(jsonObject.get("name"));
}
}
}