Home > Backend Development > PHP Tutorial > php android json

php android json

WBOY
Release: 2016-06-23 14:36:11
Original
911 people have browsed it

//android
Copy after login
public class GoWinHttp {    //通过post获得数据    public static String postHttpData(String url,List<NameValuePair> nameValuePairs)    {        String resultStr=null;        HttpClient httpclient = new DefaultHttpClient();        HttpPost httppost = new HttpPost(url);         try {                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));                HttpResponse response;                 response=httpclient.execute(httppost);                     resultStr=EntityUtils.toString(response.getEntity());            } catch (UnsupportedEncodingException e) {                Log.d(url, "UnsupportedEncodingException");                e.printStackTrace();            } catch (ClientProtocolException e) {                Log.d(url, "ClientProtocolException");                e.printStackTrace();            } catch (IOException e) {                Log.d(url, "IOException");                e.printStackTrace();            }            return resultStr;     }}
Copy after login

List<NameValuePair> nameValuePairs  构建  这是,post给php的参数nameValuePairs.add(new BasicNameValuePair("key","value"));
Copy after login

//解析方法,主要是,这里有一点特殊,就是开始第一个json对象是jsonObject 和JSONArray 有一点不同,jsonObject 是指json最开始以{开始的,而以[开始的是JSONArray ,没仔细研究,这里他们都是字符串

//解析JSON数据    public static List<Map<String,String>>resolveData(String jsonStr)    {        List<Map<String,String>>ls=new ArrayList<Map<String,String>>();        Map<String,String> data;        JSONObject jsonObject;        JSONArray jsonArr;        JSONArray nameArr;        try {            jsonArr=new JSONArray(jsonStr);            for(int i=0;i<jsonArr.length();i++)            {                jsonObject=jsonArr.getJSONObject(i);                nameArr=jsonObject.names();                data=new HashMap<String,String>();                String name;                for(int j=0;j<nameArr.length();j++)                {                    name=nameArr.getString(j);                    data.put(name, jsonObject.getString(name));                }                ls.add(data);                            }                    } catch (JSONException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return ls;            }
Copy after login


//php上面不管以任何方式得到一个数组,然后将数组编码成为json格式

//这里有一个方法可以将一整张表转换为数组

<?php //获取一张表的所有数据function getTabDatas($tabName,$link){if($tabName=="")    {        exit;    }    $sqlStr='SELECT * FROM '.$tabName;        $result = mysql_query($sqlStr, $link);    if (!$result) {        exit;        }       $fields= array();     for ($i=0; $i<mysql_num_fields($result); $i++)    {          $fields[] =mysql_field_name($result, $i);          }        $arr=array();    while ($row = mysql_fetch_assoc($result)) {    $once=array();            foreach ($fields as $value)        {           $once[$value]=$row[$value];                   }        $arr[]=$once;        }        mysql_free_result($result);        closeSqlconn();    return $arr;}?>
Copy after login

//然后php只需要将得到的数组格式化为json就行了

 $json_string = json_encode($resArr);echo $json_string;
Copy after login

//超时请求        httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 5000);        //读取超时        httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 5000);
Copy after login





Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template