My Android成长之路(二)——【JSON】
16lz
2021-01-25
如果android客户端接收到的是JSON字符串,就需要解析之。
android本身就集成了json的解析和拼装的方法 所以用起来就很方便。
下面就测试下,为了演示下json的拼装 所以又如下代码:
一般与HttpClient结合使用 因为服务器可以为Http方式返回的JSON字符串个客户端。
android本身就集成了json的解析和拼装的方法 所以用起来就很方便。
import java.util.ArrayList;import java.util.List;import org.json.JSONArray;import org.json.JSONObject;public class ParseJson {/** * 解析JSON字符串 * 注: 这个是只有一个Object * @param jsontext 字符串 * @return 返回JSONObject */public static JSONObject getJson(String jsontext){JSONObject object = null;try {JSONArray entries = new JSONArray(jsontext);object = entries.getJSONObject(0);} catch (Exception e) {e.printStackTrace();}return object;}/** * 解析JSON字符串 * 注:这个是多个JSONObject * @param jsontext 字符串 * @return 返回JSONObject */public static List<JSONObject> getJsons(String jsontext){List<JSONObject> objs = new ArrayList<JSONObject>();try {JSONArray entries = new JSONArray(jsontext);for (int i = 0; i < entries.length(); i++) {JSONObject object = entries.getJSONObject(i);objs.add(object);}} catch (Exception e) {e.printStackTrace();}return objs;}}
下面就测试下,为了演示下json的拼装 所以又如下代码:
public class FActivity extends Activity{ private TextView txtmain; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fmain); String s = ""; txtmain = (TextView) findViewById(R.id.txtmain); JSONArray array = new JSONArray(); //用android自带的方法拼装json字符串,Person为测试实体类List<Person> persons = new ArrayList<Person>();persons.add(new Person("zhuqiang", 24, false)); //下面注释的就是适用于多个Person实体 //persons.add(new Person("xiyaqiang", 28, true));//persons.add(new Person("sunhaibo", 23, false));//persons.add(new Person("meibaocai", 26, false));//persons.add(new Person("weiqiang", 29, true)); for (Person bean : persons) {// 单个用户JSON对象JSONObject obj = new JSONObject();try {obj.put("name", bean.getName());obj.put("age", bean.getAge());obj.put("marriage", bean.isMarriage());} catch (Exception e) {e.printStackTrace();}array.put(obj);} //这个是只有一个Object //多个JSONObject ParseJson.getJsons(String jsontext) s = ParseJson.getJson(array.toString()).getString("name"); txtmain.setText(s); }}
一般与HttpClient结合使用 因为服务器可以为Http方式返回的JSON字符串个客户端。
更多相关文章
- 分支和循环(二)(零基础学习C语言)
- Android完全关闭应用程序
- Android(安卓)MediaPlayer 字幕同步
- Android(安卓)8.1 来电默认全屏显示 如何修改
- Android(安卓)Studio finish()方法的使用与解决app点击“返回”,
- Android(安卓)EventBus 架构设计
- [Android] 获取WebView的页面标题(Title)-----WebChromeClient.o
- Android实现app内部更改系统时间(需要手机root)
- Qt for Android(安卓)环境搭建方法