Android网络开发技术形考任务1
【简答题】完成以下JSON的解析,完成主体代码即可,解析方法及库不限。
其实JSON数据就是一段字符串而已,只不过有不同意义的分隔符将其分割开来而已,里面有等符号,其中1 []中括号代表的是一个数组;2 {}大括号代表的是一个对象3 双引号“”表示的是属性值4 冒号:代表的是前后之间的关系,冒号前面是属性的名称,后面是属性的值,这个值可以是基本数据类型,也可以是引用数据类型。
答:public class JSONObjectActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
Create(savedInstanceState);
setContentView(R.layout.activity_jsonobject);
new Thread(new Runnable() {
@Override
public void run() {
// 模拟进行网络请求
String jsonResult = adXML();
parseJson(jsonResult);
}
}).start();
}
private void parseJson(String jsonData) {
Person person = new Person();
try {
JSONObject jsonObject = new JSONObject(jsonData);
// 解析persons数组
JSONArray phones = JSONArray("phones");
person.phones = new ArrayList<>();
for (int i = 0; i < phones.length(); i++) {
person.phones.add((String) (i));
}
索尼xml文件可以删除吗// 解析普通属性
person.name = String("name");
person.age = Int("age");
// 解析address
JSONObject addressJson = JSONObject("address");
Address address = new Address();
untry = String("country");
address.province = String("province");
person.address = address;
System.out.String());
} catch (JSONException e) {
e.printStackTrace();
}
}
class Person {
List<String>phones;
String name;
int age;
Address address;
@Override
public Stsring toString() {
return "Person{"+
"phones ="+ phones +
", name=''' + name + '\" +
", age="+ age +
", address="+ address +
'}';
}
}
class Address {
String country;
String province;
@Override
public String toString() {
return "Address{"+
"country=''' + country + '\" +
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论