将json串转化为字符串

来源:互联网 发布:淘宝怎么搜翻墙代理 编辑:程序博客网 时间:2024/05/18 22:45
  1. 将json文档转化为字符串

    StringBuilder sb=null;try {    //获取文件输入流    InputStream input = getAssets().open(fileName);    //缓存输入流    BufferedReader br=new BufferedReader(new InputStreamReader(input));     //定义的自定义存储数据库    sb = new StringBuilder();    //临时存储字符串    String con;    //循环获取输入流中的数据    while((con=br.readLine())!=null){        //将数据存在存储器中        sb.append(con);    }} catch (IOException e) {    // TODO Auto-generated catch block    e.printStackTrace();}//返回存储器中的字符串return sb.toString();
  2. 将网路请求的json流转化为字符串的工具类
    //需要传过来一个输入流和编码格式

import android.os.AsyncTask;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;/** * 使用AsyncTask+HttpURLConnection请求数据 * Created by e531 on 2017/10/12. */public class MyTask extends AsyncTask<String,Void,String> {    //申请一个接口类对象    private  Icallbacks icallbacks;    //将无参构造设置成私有的,使之在外部不能够调用    private MyTask(){}    //定义有参构造方法    public MyTask(Icallbacks icallbacks) {        this.icallbacks = icallbacks;    }    @Override    protected String doInBackground(String... params) {        String str="";        try {             //使用HttpUrlConnection            URL url=new URL(params[0]);            HttpURLConnection connection=(HttpURLConnection) url.openConnection();            connection.setRequestMethod("GET");            connection.setReadTimeout(5000);            connection.setConnectTimeout(5000);            if(connection.getResponseCode()==200){                InputStream inputStream=connection.getInputStream();                //调用工具类中的静态方法                str=StreamToString.streamToStr(inputStream,"utf-8");            }        } catch (MalformedURLException e) {            e.printStackTrace();        }catch (IOException e){            e.printStackTrace();        }        return str;    }    @Override    protected void onPostExecute(String s) {        super.onPostExecute(s);        //解析,封装到bean,更新ui组件        icallbacks.updateUiByjson(s);    }    //定义一个接口    public interface Icallbacks{        /**         * 根据回传的json字符串,解析并更新页面组件         * @param jsonstr         */        void updateUiByjson(String jsonstr);    }}
import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;/** * Created by e531 on 2017/10/12. */public class StreamToString {    public static String streamToStr(InputStream inputStream,String chartSet){        StringBuilder builder=new StringBuilder();        try {            BufferedReader br=new BufferedReader(new InputStreamReader(inputStream,chartSet));            String con;            while ((con=br.readLine())!=null){                builder.append(con);            }            br.close();            return builder.toString();        } catch (Exception e) {            e.printStackTrace();        }        return "";    }}
原创粉丝点击