git管理冲突及Fastjson用法

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"));
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值