一: Json的特性和在数据交互中的地位就不用说了,直接看案例。 首先在android studio中创建assets文件目录,用于存放Json数据文件,android studio 1.3 默认项目文件目录下是没有assets文件夹的, 所以需要我们进行创建,创建方法 ...
一: Json的特性和在数据交互中的地位就不用说了,直接看案例。
首先在android studio中创建assets文件目录,用于存放Json数据文件,android studio 1.3 默认项目文件目录下是没有assets文件夹的,
所以需要我们进行创建,创建方法如下:
而在android studio则是通过:JsonLearn.this.getClass().getClassLoader().getResourceAsStream("assets/" + "Text.json");返回相应InputStream.
三:案例展示:
1:案例项目app界面如下,通过按钮分别实现Json数据的读取和创建,并展示在TextView中。
2:代码如下:
1 package activity.cyq.datalrearn; 2 3 import android.support.v7.app.AppCompatActivity; 4 import android.os.Bundle; 5 import android.view.View; 6 import android.widget.TextView; 7 8 import org.json.JSONArray; 9 import org.json.JSONException;10 import org.json.JSONObject;11 12 import java.io.BufferedReader;13 import java.io.IOException;14 import java.io.InputStream;15 import java.io.InputStreamReader;16 17 18 public class JsonLearn extends AppCompatActivity {19 private TextView writeText, readText;20 21 @Override22 protected void onCreate(Bundle savedInstanceState) {23 super.onCreate(savedInstanceState);24 setContentView(R.layout.activity_json_learn);25 26 readText = (TextView) findViewById(R.id.readJsonText);27 writeText = (TextView) findViewById(R.id.writeJsonText);28 29 /*读取Json数据*/30 findViewById(R.id.readJsioBtn).setOnClickListener(new View.OnClickListener() {31 @Override32 public void onClick(View v) {33 /*获取到assets文件下的TExt.json文件的数据,并以输出流形式返回。*/34 InputStream is = JsonLearn.this.getClass().getClassLoader().getResourceAsStream("assets/" + "Text.json");35 InputStreamReader streamReader = new InputStreamReader(is);36 BufferedReader reader = new BufferedReader(streamReader);37 String line;38 StringBuilder stringBuilder = new StringBuilder();39 try {40 while ((line = reader.readLine()) != null) {41 // stringBuilder.append(line);42 stringBuilder.append(line);43 }44 reader.close();45 reader.close();46 is.close();47 } catch (IOException e) {48 e.printStackTrace();49 }50 try {51 JSONObject person = new JSONObject(stringBuilder.toString());52 JSONArray infArray = person.getJSONArray("inf");53 for (int i = 0; i < infArray.length(); i++) {54 JSONObject inf_Array = infArray.getJSONObject(i);55 readText.append("name:" + inf_Array.getString("name") + "\n");56 readText.append("IdCard:" + inf_Array.getString("IdCard"));57 readText.append("age:" + inf_Array.getInt("age"));58 readText.append("married:" + inf_Array.getBoolean("married"));59 }60 } catch (JSONException e) {61 e.printStackTrace();62 }63 }64 });65 66 /*创建Json数据并显示*/67 findViewById(R.id.writeJsioBtn).setOnClickListener(new View.OnClickListener() {68 @Override69 public void onClick(View v) {70 try {71 JSONObject inf = new JSONObject();72 inf.put("number", 1);73 74 JSONArray array = new JSONArray();75 76 JSONObject arr_1 = new JSONObject();77 arr_1.put("name", "张三");78 arr_1.put("age", 26);79 arr_1.put("IdCard", "2345XC");80 arr_1.put("married", true);81 82 JSONObject arr_2 = new JSONObject();83 arr_2.put("name", "李四");84 arr_2.put("age", 45);85 arr_2.put("IdCard", "@222DC");86 arr_2.put("married", true);87 88 array.put(0, arr_1);89 array.put(1, arr_2);90 inf.put("inf", array);91 writeText.setText(inf.toString());92 93 } catch (JSONException e) {94 e.printStackTrace();95 }96 }97 });98 }99 }
原标题:Android中Json数据读取与创建
关键词:JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。