我是android开发的新手。我有以下Android代码来调用json
try {
JSONObject jsonObject = new JSONObject(result);
//JSONObject object = jsonObject.getJSONObject("CUSTOMER_ID");
JSONArray jArray = new JSONArray(CUSTOMER_ID);
returnUsername1 = jArray.getInt("CUSTOMER_ID");
Toast.makeText(getApplicationContext(), ""+returnUsername1,Toast.LENGTH_LONG).show();
for (int i = 0; i < jArray.length(); i++) {
}
我的JSON格式类似于[[{"0":"1","CUSTOMER_ID":"1"}]]
。
我引用了一些json格式它应该[{"0":"1","sno":"1"}]
我能理解这一点。但是我的不同之处。
如何使用上述代码调用customer_id。任何人都可以建议解决方案。
答案 0 :(得分:1)
你拥有的是Json数组
JSONArray jsonarray = new JSONArray(result); // result is a Array
[
表示json数组节点
{
表示json对象节点
你的Json。你需要两次Json数组吗?
[ // array
[ //array
{ // object
"0": "1",
"CUSTOMER_ID": "1"
}
]
]
解析
JSONArray jsonArray = new JSONArray(result);
JSONArray ja= (JSONArray) jsonArray.get(0);
JSONObject jb = (JSONObject) ja.get(0);
String firstvalue = jb.getString("0");
String secondvalue = jb.getString("CUSTOMER_ID");
Log.i("first value is",firstvalue);
Log.i("second value is",secondvalue);
logcat的
07-22 14:37:02.990: I/first value is(6041): 1
07-22 14:37:03.048: I/second value is(6041): 1
答案 1 :(得分:0)
通常,从JSONArray获取JSONObject:
JSONObject jsonObject = jsonArray.getJSONObject(0); //0 -> first object
然后
int userID = jsonObject.getInt("CUSTOMER_ID");
答案 2 :(得分:0)
CUSTOMER_ID不被视为JSONObject。如果jsonObject是您认为的那样,那么您应该能够使用jsonObject.getString(“CUSTOMER_ID”)
来访问它答案 3 :(得分:0)
试试这个
JSONObject jsonObject = new JSONObject(result);
JSONArray jArray =json.getJSONArray("enterjsonarraynamehere");
for (int i=0; i < jArray.length(); i++)
{
try {
JSONObject oneObject = jArray.getJSONObject(i);
// Pulling items from the array
String cust= oneObject.getString("CUSTOMER_ID");
} catch (JSONException e) {
// Oops something went wrong
}
}
我假设你的json是这样的
<somecode>
{
"enterjsonarraynamehere": [
{ "0":"1",
"CUSTOMER_ID":"1"
},
{ "0":"2",
"CUSTOMER_ID":"2"
}
],
"count": 2
}
<somecode>
答案 4 :(得分:0)
如果您对 JSON 格式有任何问题,请先通过此网站验证 http://jsonlint.com/
然后解析
JSONObject jsonObject = new JSONObject(result);
// since your value for CUSTOMER_ID in your json text is string then you should get it as
// string and then convert to an int
returnUsername1 = Integer.parseInt(jsonObject.getString("CUSTOMER_ID"));