3

我是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。任何人都可以提出解决方案。

4

5 回答 5

1

你拥有的是一个 Json 数组

JSONArray jsonarray = new JSONArray(result); // result is a Array

[表示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);

日志猫

 07-22 14:37:02.990: I/first value is(6041): 1
 07-22 14:37:03.048: I/second value is(6041): 1
于 2013-07-22T14:28:12.170 回答
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"));
于 2013-07-22T14:35:44.067 回答
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>
于 2013-07-22T14:35:31.337 回答
0

通常,要从 JSONArray 中获取 JSONObject:

JSONObject jsonObject = jsonArray.getJSONObject(0); //0 -> first object

接着

int userID = jsonObject.getInt("CUSTOMER_ID");
于 2013-07-22T14:28:15.793 回答
0

在这种情况下,CUSTOMER_ID 不被视为 JSONObject。如果 jsonObject 是您认为的那样,那么您应该可以使用 jsonObject.getString("CUSTOMER_ID") 访问它

于 2013-07-22T14:29:17.897 回答