问题 更新时间2023/10/31 15:23:00
完成以下JSON的解析,完成主体代码即可,解析方法及库不限。
public class JSONObjectActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_jsonobject);new Thread(new Runnable() {@Overridepublic void run() {// 模拟进行网络请求String jsonResult = FileUtils.readXML();parseJson(jsonResult);} }).start();}private void parseJson(String jsonData) { Person person = new Person(); try { JSONObject jsonObject = new JSONObject(jsonData);
// 解析persons数组JSONArray phones = jsonObject.getJSONArray("phones");person.phones = new ArrayList<>(); for (int i = 0; i < phones.length(); i++) { person.phones.add((String) phones.get(i));}// 解析普通属性person.name = jsonObject.getString("name");person.age = jsonObject.getInt("age");// 解析addressJSONObjectaddressJson=jsonObject.getJSONObject("address");Address address = new Address();address.country = addressJson.getString("country");address.province = addressJson.getString("province");person.address = address; System.out.println(person.toString());} catch (JSONException e) { e.printStackTrace();} }
class Person {Listphones;String name;int age;Address address;@Overridepublic Stsring toString() {return "Person{"+"phones ="+ phones +", name=''' + name + '\" +", age="+ age +", address="+ address +'}';}}class Address { String country;String province;
@Overridepublic String toString() {return "Address{"+"country=''' + country + '\" +", province=''' + province + '\" +'}';}}
出自:国家开放大学 >> 国家开放大学Android网络开发技术
答案