Braintree/src/main/java/com/braintreepayments/api/models/PayPalAccountNonce.java
protected void fromJson(JSONObject json) throws JSONException {
        super.fromJson(json);

        JSONObject details = json.getJSONObject(DETAILS_KEY);
        mEmail = Json.optString(details, EMAIL_KEY, null);
        mClientMetadataId = Json.optString(details, CLIENT_METADATA_ID_KEY, null);

        try {
            if (details.has(CREDIT_FINANCING_KEY)) {
                JSONObject creditFinancing = details.getJSONObject(CREDIT_FINANCING_KEY);
                mCreditFinancing = PayPalCreditFinancing.fromJson(creditFinancing);
            }

            JSONObject payerInfo = details.getJSONObject(PAYER_INFO_KEY);

            JSONObject billingAddress = payerInfo.optJSONObject(BILLING_ADDRESS_KEY);
            if (payerInfo.has(ACCOUNT_ADDRESS_KEY)) {
                billingAddress = payerInfo.optJSONObject(ACCOUNT_ADDRESS_KEY);
            }

            mShippingAddress = PostalAddressParser.fromJson(payerInfo.optJSONObject(SHIPPING_ADDRESS_KEY));
            mBillingAddress = PostalAddressParser.fromJson(billingAddress);
            mFirstName = Json.optString(payerInfo, FIRST_NAME_KEY, "");
            mLastName = Json.optString(payerInfo, LAST_NAME_KEY, "");
            mPhone = Json.optString(payerInfo, PHONE_KEY, "");
            mPayerId = Json.optString(payerInfo, PAYER_ID_KEY, "");

            if(mEmail == null) {
                mEmail = Json.optString(payerInfo, EMAIL_KEY, null);
            }
        } catch (JSONException e) {
            mBillingAddress = new PostalAddress();
            mShippingAddress = new PostalAddress();
        }
    }
protected void fromJson(JSONObject json) throws JSONException {
        super.fromJson(json);

        JSONObject details = json.getJSONObject(DETAILS_KEY);
        mEmail = Json.optString(details, EMAIL_KEY, null);
        mClientMetadataId = Json.optString(details, CLIENT_METADATA_ID_KEY, null);

        try {
            if (details.has(CREDIT_FINANCING_KEY)) {
                JSONObject creditFinancing = details.getJSONObject(CREDIT_FINANCING_KEY);
                mCreditFinancing = PayPalCreditFinancing.fromJson(creditFinancing);
            }

            JSONObject payerInfo = details.getJSONObject(PAYER_INFO_KEY);

            JSONObject billingAddress = payerInfo.optJSONObject(BILLING_ADDRESS_KEY);
            if (payerInfo.has(ACCOUNT_ADDRESS_KEY)) {
                billingAddress = payerInfo.optJSONObject(ACCOUNT_ADDRESS_KEY);
            }

            mShippingAddress = PostalAddressParser.fromJson(payerInfo.optJSONObject(SHIPPING_ADDRESS_KEY));
            mBillingAddress = PostalAddressParser.fromJson(billingAddress);
            mFirstName = Json.optString(payerInfo, FIRST_NAME_KEY, "");
            mLastName = Json.optString(payerInfo, LAST_NAME_KEY, "");
            mPhone = Json.optString(payerInfo, PHONE_KEY, "");
            mPayerId = Json.optString(payerInfo, PAYER_ID_KEY, "");

            if(mEmail == null) {
                mEmail = Json.optString(payerInfo, EMAIL_KEY, null);
            }
        } catch (JSONException e) {
            mBillingAddress = new PostalAddress();
            mShippingAddress = new PostalAddress();
        }
    }
protected void fromJson ( JSONObject json ) throws JSONException { super . fromJson ( json ) ; JSONObject details = json . getJSONObject ( DETAILS_KEY ) ; mEmail = Json . optString ( details , EMAIL_KEY , null ) ; mClientMetadataId = Json . optString ( details , CLIENT_METADATA_ID_KEY , null ) ; try { if ( details . has ( CREDIT_FINANCING_KEY ) ) { JSONObject creditFinancing = details . getJSONObject ( CREDIT_FINANCING_KEY ) ; mCreditFinancing = PayPalCreditFinancing . fromJson ( creditFinancing ) ; } JSONObject payerInfo = details . getJSONObject ( PAYER_INFO_KEY ) ; JSONObject billingAddress = payerInfo . optJSONObject ( BILLING_ADDRESS_KEY ) ; if ( payerInfo . has ( ACCOUNT_ADDRESS_KEY ) ) { billingAddress = payerInfo . optJSONObject ( ACCOUNT_ADDRESS_KEY ) ; } mShippingAddress = PostalAddressParser . fromJson ( payerInfo . optJSONObject ( SHIPPING_ADDRESS_KEY ) ) ; mBillingAddress = PostalAddressParser . fromJson ( billingAddress ) ; mFirstName = Json . optString ( payerInfo , FIRST_NAME_KEY , "" ) ; mLastName = Json . optString ( payerInfo , LAST_NAME_KEY , "" ) ; mPhone = Json . optString ( payerInfo , PHONE_KEY , "" ) ; mPayerId = Json . optString ( payerInfo , PAYER_ID_KEY , "" ) ; if ( mEmail == null ) { mEmail = Json . optString ( payerInfo , EMAIL_KEY , null ) ; } } catch ( JSONException e ) { mBillingAddress = new PostalAddress ( ) ; mShippingAddress = new PostalAddress ( ) ; } }
Generates a {@link PayPalAccountNonce} from the {@link JSONObject}.

@param json {@link JSONObject} that holds properties for {@link PayPalAccountNonce}.
@throws JSONException
Generates a { @link PayPalAccountNonce } from the { @link JSONObject } .