创建 JSON 数组和 JSON 对象
Posted
技术标签:
【中文标题】创建 JSON 数组和 JSON 对象【英文标题】:Create JSON Array and JSON Object 【发布时间】:2018-07-03 06:54:19 【问题描述】:我从XML
文件中获取数据,这是我用于解析XML
的代码,我对此没有任何问题。我对 ArrayList 不熟悉,所以我坚持使用JSON
。
while (eventType != XmlPullParser.END_DOCUMENT)
if(eventType == XmlPullParser.START_DOCUMENT)
Log.e("XML READ","--- Start XML ---");
else if(eventType == XmlPullParser.START_TAG)
if (xpp.getName().toString().equals("question"))
else if (xpp.getName().toString().equals("choice"))
try
choices = new JSONObject();
choices.put("value", xpp.getAttributeValue(null, "value"));
choices.put("iscorrect", xpp.getAttributeValue(null, "iscorrect"));
jsonArray.put(choices);
catch (JSONException e)
// TODO Auto-generated catch block
e.printStackTrace();
try
questions.put("questions", jsonArray);
catch (JSONException e)
e.printStackTrace();
try
eventType = xpp.next();
catch (XmlPullParserException e)
e.printStackTrace();
catch (IOException e)
e.printStackTrace();
我正在尝试在此结构中创建一个 JSON 对象。
"question": [
"q": "what is 1 + 1?",
"choices": [
"ans":"1",
"iscorrect":"false"
,
"ans":"2",
"iscorrect":"true"
]
,
]
我按照下面的代码示例 android- create JSON Array and JSON Object
【问题讨论】:
那么你的问题是什么? @addykha 请检查我的答案。 【参考方案1】:试试这个
JSONObject jsonObjque1 = new JSONObject();
JSONObject jsonObjque2 = new JSONObject();
try
jsonObjque1.put("ans", "1");
jsonObjque1.put("iscorrect", "false");
jsonObjque2.put("ans", "2");
jsonObjque2.put("iscorrect", "true");
catch (JSONException e)
// TODO Auto-generated catch block
e.printStackTrace();
JSONArray jsonArrayChoice = new JSONArray();
jsonArrayChoice.put(jsonObjque1);
jsonArrayChoice.put(jsonObjque2);
JSONObject ChoiceObj = new JSONObject();
ChoiceObj.put("q", "what is 1 + 1?");
ChoiceObj.put("choices", jsonArrayChoice);
JSONArray jsonArrayquestion = new JSONArray();
jsonArrayquestion.put(ChoiceObj);
JSONObject jsonObjectMain = new JSONObject();
jsonObjectMain.put("question", jsonArrayquestion);
Log.i("TAG", "JSON Response :" + jsonObjectMain.toString());
输出
【讨论】:
只有在jsonObjque1
不在循环中时才有效以上是关于创建 JSON 数组和 JSON 对象的主要内容,如果未能解决你的问题,请参考以下文章