zoukankan      html  css  js  c++  java
  • JSON数据解析

    package com.heaven.shopping.engine.impl.impl;

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    import org.json.JSONException;
    import org.json.JSONObject;

    import com.alibaba.fastjson.JSON;
    import com.heaven.shopping.ConstantValue;
    import com.heaven.shopping.bean.po.HelpPO;
    import com.heaven.shopping.bean.vo.Help;
    import com.heaven.shopping.dao.HelpDao;
    import com.heaven.shopping.engine.HelpEngine;
    import com.heaven.shopping.net.HttpClientAdapter;
    import com.heaven.shopping.util.BeanFactory;

    public class HelpEngineImpl implements HelpEngine {

    @Override
    public List<Help> getLocalHelp() {
    List<Help> result = new ArrayList<Help>();
    HelpDao helpDao = BeanFactory.getImpl(HelpDao.class);
    List<HelpPO> findAll = helpDao.findAll();
    for (HelpPO item : findAll) {

    Help object = new Help();
    object.setId(item.getId() + "");
    object.setTitle(item.getTitle());
    result.add(object);
    }
    return result;
    }

    @Override
    public List<Help> getRemoteHelp() {
    String version = "0";
    // ①获取到version信息
    HelpDao dao = BeanFactory.getImpl(HelpDao.class);
    version = dao.getVersion();
    // ②发送到服务器端
    HttpClientAdapter adapter = new HttpClientAdapter();
    Map<String, String> params = new HashMap<String, String>();
    params.put("version", version);
    String result = adapter.sendPost(ConstantValue.HOST + ConstantValue.HELP, params);
    // ③服务器回复结果处理,Json数据解析
    try {
    JSONObject object = new JSONObject(result);
    if (checkError(object)) {
    String help = object.getString("help");
    String sVersion = object.getString("version");
    // ④如果从服务获取到了帮助信息,持久化到本地,开启子线程专门执行数据库的添加操作
    List<Help> list = JSON.parseArray(help, Help.class);

    for (Help item : list) {
    // 如果BeanUtil
    HelpPO helpPO = new HelpPO();
    helpPO.setId(Long.parseLong(item.getId()));
    helpPO.setTitle(item.getTitle());
    helpPO.setVersion(sVersion);

    dao.insert(helpPO);
    }

    return list;
    }

    } catch (JSONException e) {
    e.printStackTrace();
    }

    return null;
    }

    /**
    * 每一个请求回来都的判断
    *
    * @param object
    * @return
    */
    public boolean checkError(JSONObject object) {
    return true;
    }

    }

    看不清未来,就做好现在,,,
  • 相关阅读:
    python基础之入门
    C#直接删除指定目录下的所有文件及文件夹(保留目录)
    删除Oracle文件、注册表
    WinRAR 激活码(KEY)
    用C#读取txt文件的方法(转)
    c# 生成 xml 文件
    Asp.Net 文件下载1——流下载(适用于大文件且防盗链)(转)
    Asp.Net异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法
    响应在此上下文中不可用 asp.net
    Ajax实现局部刷新
  • 原文地址:https://www.cnblogs.com/gsdimz/p/3089920.html
Copyright © 2011-2022 走看看