我一直在玩弄这个有一段时间,我正在寻找一些帮助。我有一个ArrayList
我变成一个JSONArray
然后放在里面的JSONObject
。问题是我的格式。请允许我向您展示。
我得到我的值ArrayList
并像这样添加它们(小代码片段)
if (v instanceof EditText) {
String answer = ((EditText) v).getText().toString();
if (answer.equals("")) {
error.setText(v.getTag().toString()
+ " Needs an answer");
((EditText) v).setHint("Fill me out!");
((EditText) v).setHintTextColor(getResources()
.getColor(R.color.red_bg));
} else {
error.setText("");
}
String question = v.getTag().toString();
String combo = question + ": " + answer;
myList.add(combo);
Log.v("INFO", "Storing: " + combo);
}
这可行,但添加“:”是我问题的开始。日志打印出来
06-19 12:13:33.630: V/INFO(3272): Storing: Height: 6`4
现在,当我创建JSON
要发送的我时,我使用以下内容
if (error.getText().toString().equals("")) {
JSONObject json = new JSONObject();
JSONArray jArray = new JSONArray(myList);
try {
json.putOpt("array", jArray);
} catch (JSONException e) {
e.printStackTrace();
}
同样,这有效。现在问题清楚地说明了,它打印出来JSON
是这样的
{
"array":
[
"Store #: 00608",
"Phone #: null",
"Address: 3014 N. SCOTTSDALE RD.",
"City: SCOTTSDALE",
"Zip: 85251",
"State: AZ",
"Height: 6`4",
"Weight: 230",
"Ethnicity: White",
"Age: 23",
"Eye Color: Blue",
"Favorite Food: Thai",
"Comments: awesome"
]
}
如果你熟悉JSON
你就知道我在这里搞砸了。我只是想把问题和答案放在一起。但是,通过将“:”添加到中间,看起来我正在尝试将问题用作 thekey
并将答案用作value
(种类)。无论如何,这最终看起来像是合法JSON
的,而且确实如此,但它并没有按照我需要的方式工作。
我的问题是,我应该只对 提出“问题”key
并“回答”value
吗?
如果是这样,我将如何创建我的JSONArray
,以便我JSON
看起来像这样
{
"array":
[
"Store #" : "00608",
"Phone #" : "null",
"Address" : "3014 N. SCOTTSDALE RD.",
"City" : "SCOTTSDALE",
"Zip" : "85251",
"State" : "AZ",
"Height" : "6`4",
"Weight" : "230",
....
]
}
这样一个简单的
var_dump(json_decode($json));
var_dump(json_decode($json, true));
inPHP
将为我提供服务器端所需的数据。
或者,在我在服务器端解析字符串时,保持这种格式并拆分字符串会更简单吗?无论您选择哪个答案,请提供几行代码来说明您的答案。正如你可以说我是一个视觉的人。
感谢您的帮助,我希望这对将来的其他人也有帮助!