php和android的json解析

总结了下php和android的json简易解析:

习惯在代码中学习,下面举了一些简单的例子:

这是后台脚步语言php的:

 

<?php
//StdClass类是PHP中的一个基类,是一个没有成员方法和属性的空对象。->对象操作符['']数组操作符

$test='{"a":"qq","b":"ww"}';
$json=json_decode($test);
//print_r($json); //可用来查看json对象的具体内容
echo $json->a;//得到qq

/*取消注释可进行测试
$test='[{"a":"加","b":"单"},{"a":"11","b":"22"}]';
$json=json_decode($test);
//print_r($json); 
echo $json[1]->a;//得到11
//count($json);//得到数组长度
for($i=0;$i<count($json);$i++){
	//遍历对象每次循环都把其中键值对保存到$key和$value变量。foreach可以遍历数组和对象。
	foreach($json[$i] as $key=>$value){
		print $key.$value."<br/>";
	}	
}
*/

/*取消注释可进行测试
$test='{"people": [{"firstName": "Brett", "lastName":"McLaughlin"},{ "firstName": "Json", "lastName":"Hunter"}],
"people2": [{"firstName": "Brett2", "lastName":"McLaughli2"},{ "firstName": "Json3", "lastName":"Hunter3"}]}';
$json=json_decode($test);
//print_r($json); 
//var_dump($json);//一对象里包含两个公开属性,每个属性里包含两个数组,每个数组里又包含一个对象,每个对象里有三个公开属性
echo $json->people[1]->firstName;//得到Json
//json格式小结:{}中一定要有键名:键值,键值可以是{}或数组。[]中可以包含{}
*/
?>

这是android的:

 

 

 

package  ;


import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;

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


public class MainActivity extends AppCompatActivity {
    
        /*
		JSONObject是用来解析 {}的,JSONArray 是用来解析[{}]的
        */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String jsonTest="{\"a\":\"qq\",\"b\":\"ww\"}";
        try {
            JSONObject jsonObject=new JSONObject(jsonTest);
            Toast.makeText(MainActivity.this,jsonObject.getString("a"), Toast.LENGTH_SHORT).show();
        } catch (JSONException ex) {
            // 异常处理代码
        }

        /*取消注释即可进行测试
        String jsonTest="[{\"id\":\"10\",\"date\":\"2017-09-07\"},{\"id\":\"9\",\"date\":\"2017-09-04\"}]";
        try {
            JSONArray jsonArray=new JSONArray(jsonTest);
            JSONObject jsonObject=jsonArray.getJSONObject(1);
            Toast.makeText(MainActivity.this,jsonObject.getString("id"), Toast.LENGTH_SHORT).show();
        } catch (JSONException ex) {
            // 异常处理代码
        }
        */
        /*
        String json ="{\"people\": [{\"firstName\": \"Brett\", \"lastName\":\"McLaughlin\"},{ \"firstName\": \"Json\", \"lastName\":\"Hunter\"}],\n" +
                    "\"people2\": [{\"firstName\": \"Brett2\", \"lastName\":\"McLaughli2\"},{ \"firstName\": \"Json3\", \"lastName\":\"Hunter3\"}]}";
        try {
            JSONObject jsonObject=new JSONObject(json);
            JSONArray jsonArray=jsonObject.getJSONArray("people");
            JSONObject jsonObject1=jsonArray.getJSONObject(1);
            Toast.makeText(MainActivity.this,jsonObject1.getString("firstName"), Toast.LENGTH_SHORT).show();
        } catch (JSONException ex) {
            // 异常处理代码
        }
        */
    }

}

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值