【发布时间】:2016-12-20 04:36:26
【问题描述】:
每次插入值都会替换 JSONArray
在下面的输出中,我将被旧的 jArrayFacebookData 取代。
或者我需要将那些 json 数据添加到字符串中
dbchooseuserid,dbchoosebookid,dbchoosechapterid,dbchoosequestionid, Type,dbchooseoptionid这些值来自 db,这些值我需要制作 json 字符串
我需要这样的输出
string h =[{"user_id":"1","book_id":"64","chapter_id":"1","question_type":"hint","question_id":"1","notes":",,Gg,,,,"},{"user_id":"1","book_id":"64","chapter_id":"1","question_type":"choose","question_id":"1","option_id":"1"}]
这是我的代码
JSONArray jArrayFacebookData = new JSONArray();
JSONObject jObjectData = new JSONObject();
ArrayList<String> a= new ArrayList<String>();
if(TypeHint.equals("hint"))
{
try {
jObjectData.put("user_id", dbhintuserid);
jObjectData.put("book_id", dbhintbookid);
jObjectData.put("chapter_id", dbhintchapterid);
jObjectData.put("question_type", TypeHint);
jObjectData.put("question_id", dbhintquestionid);
jObjectData.put("notes", dbhintnotes);
jArrayFacebookData.put(jObjectData);
Log.i("tag555", ""+jArrayFacebookData.toString());
a.add(jObjectData.toString());
Log.i("tag5", ""+a);
} catch (JSONException e) {
e.printStackTrace();
}}
if(Type.equals("choose"))
{
try {
jObjectData.put("user_id", dbchooseuserid);
jObjectData.put("book_id", dbchoosebookid);
jObjectData.put("chapter_id", dbchoosechapterid);
jObjectData.put("question_type", Type);
jObjectData.put("question_id", dbchoosequestionid);
jObjectData.put("option_id", dbchooseoptionid);
jArrayFacebookData.put(jObjectData);
Log.i("tag555", ""+jArrayFacebookData.toString());
a.add(jObjectData.toString());
Log.i("tag5", ""+a);
} catch (JSONException e) {
e.printStackTrace();
}}
我得到的输出是
[{"user_id":"1","book_id":"64","chapter_id":"1","question_type":"choose","question_id":"1","option_id":"1"}]
但我需要这样的输出
[{"user_id":"1","book_id":"64","chapter_id":"1","question_type":"hint","question_id":"1","notes":",,Gg,,,,"}{"user_id":"1","book_id":"64","chapter_id":"1","question_type":"choose","question_id":"1","option_id":"1"}]
【问题讨论】:
-
我不是 javascript 方面的专家,但我注意到了一些事情。首先,您将“question_type”替换为“TypeHint”或“Type”。如果您希望该值是“notes”,您可能应该使用“TypeHint”。其次,设置“notes”对象时似乎发生了某种错误。您可以尝试使用“console.error(e);”而不是打印堆栈跟踪以查看有关 JSON 异常的更多详细信息
-
我需要这样的输出字符串 h =[{"user_id":"1","book_id":"64","chapter_id":"1","question_type":"hint", "question_id":"1","notes":",,Gg,,,,"},{"user_id":"1","book_id":"64","chapter_id":"1","question_type ":"choose","question_id":"1","option_id":"1"}]
-
你能从这段代码中发布完整的代码吗,看起来你在调用类/方法时有问题,如果你仔细检查你的数组,列表将在每次调用时被初始化,这样你就不会得到欲望结果,除非您在外面初始化它们并在此处添加项目。
标签: android arrays json string arraylist