php和android的json解析

来源:互联网 发布:hbuilder手机版软件 编辑:程序博客网 时间:2024/05/26 02:20

总结了下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) {            // 异常处理代码        }        */    }}



原创粉丝点击