说到JSONOject前,我们先说说我们熟悉的XML。他们两个相同点-》都是数据结构,不同点就是-》数据结构的表示不同。对于编程老手说jSONObject数据结构优点是表示的数据更加的精简,XML数据结构缺点是很多重复的标签。
在java项目中使用JSONObejct数据类要导入开发库,在Android项目中使用JSONObejct数据类不需要任何导入开发库,因为已经集成到了sdk中。
public class MainActivity extends Activity {
private TextView tvTextShow;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**jSONOBject实例*/
JSONObject obj=new JSONObject();
try {
obj.put("name", "xiiaomiang");
obj.put("age", 12);
tvTextShow.setText(obj.getString("name").toString()+obj.getInt("age"));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这里的界面布局就是一个简单的LinearLayout和一个TextView就不贴出来了 。
从代码里我们可以看到创建了JSONObeject对象,使用了put()方法这个方法是添加数据到JSONObject对象,里面要写两个参数。我们可以把JSONObject对象看作一个Map,put方法里面就是Key-Value键值对。“name”就是Key,“xiiaomiang”就是Value。
那么接下来的getString方法和getInt方法就是获取Key为name里面的Value,输入都Textview控件上。
查看源码我们可以知道jSONObject实质是LinkedHashMap