如何将这个PHP代码(json数组)转换为android上的java代码

时间:2015-01-04 21:08:55

标签: multidimensional-array

我调用wsdl webservice并获取以下JSON字符串

例如:

$result = '
{
"Value":
[
{"Username":"CustomerName1","Password":"123","ResellerID":"888"},{"Username":"CustomerName2","Password":"123orAnyChar","ResellerID":"378"}
],
"Error":{"Check":false,"Msg":"No Error!"}
}
';

如何将此php代码转换为java代码:

示例php代码:

$MyArray = json_decode($result, true);

if (array_key_exists("Error", $MyArray)) {

    if ($MyArray['Error']['Check'] != true) {

        foreach ($MyArray['Value'] as $Key => $Val) {
            echo "Username = ".$Val['Username']." , Pass = ".$Val['Password']." , ResID = ".$Val['ResellerID']."\r\n";
        }

    }
    else {
        echo "Error Msg";
    }

}

注意:只需使用示例json string

将此php代码块转换为java

感谢

1 个答案:

答案 0 :(得分:0)

回答我的问题是:

try {

            // result is json string

            Boolean ErrStatus = true;

            JSONObject CheckErr = new JSONObject(result).getJSONObject("Error");
            ErrStatus = CheckErr.getBoolean("Check");

            String Msg = "";
            if (ErrStatus == false) {

                JSONArray jArray = new JSONObject(result).getJSONArray("Value");
                for (int i = 0; i < jArray.length(); i++) {
                    JSONObject json = jArray.getJSONObject(i);
                    Msg = Msg + "Username : " + json.getString("Username") + "\n" + "Password : " + json.getString("Password") + "\n\n";
                }

                Msg = "Info correct";

            }
            else {
                Msg = CheckErr.getString("Msg");
            }


            txtLogin.setText(s);

        }
        catch (Exception e) {
            Log.i("WS", "Error JSON");
        }