android.util.JsonWriter#value ( )源码实例Demo

下面列出了android.util.JsonWriter#value ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: cwac-saferoom   文件: TypeTransmogrifier.java
@TypeConverter
public static String fromStringSet(Set<String> strings) {
  if (strings==null) {
    return(null);
  }

  StringWriter result=new StringWriter();
  JsonWriter json=new JsonWriter(result);

  try {
    json.beginArray();

    for (String s : strings) {
      json.value(s);
    }

    json.endArray();
    json.close();
  }
  catch (IOException e) {
    Log.e(TAG, "Exception creating JSON", e);
  }

  return(result.toString());
}
 
源代码2 项目: NClientV2   文件: GeneralPreferenceFragment.java
private void writeEntry(JsonWriter writer, Map.Entry<String,?> entry)throws IOException {
    writer.name(entry.getKey());
         if(entry.getValue() instanceof Integer) writer.value((Integer)entry.getValue());
    else if(entry.getValue() instanceof Boolean) writer.value((Boolean)entry.getValue());
    else if(entry.getValue() instanceof String ) writer.value((String) entry.getValue());
    else if(entry.getValue() instanceof Long   ) writer.value((Long)   entry.getValue());
}
 
源代码3 项目: unmock-plugin   文件: SimpleTest.java
@Test
public void testJsonWriter() throws Exception {
    StringWriter sw = new StringWriter();
    JsonWriter jw = new JsonWriter(sw);
    jw.beginObject();
    jw.name("test");
    jw.value("world");
    jw.endObject();
    jw.flush();

    assertEquals("{\"test\":\"world\"}", sw.toString());

}
 
源代码4 项目: unmock-plugin   文件: SimpleTest.java
@Test
public void testJsonWriter() throws Exception {
    StringWriter sw = new StringWriter();
    JsonWriter jw = new JsonWriter(sw);
    jw.beginObject();
    jw.name("test");
    jw.value("world");
    jw.endObject();
    jw.flush();

    assertEquals("{\"test\":\"world\"}", sw.toString());

}
 
源代码5 项目: 365browser   文件: AndroidPaymentApp.java
private static void serializeModifier(PaymentDetailsModifier modifier, JsonWriter json)
        throws IOException {
    // {{{
    json.beginObject();

    // total {{{
    if (modifier.total != null) {
        json.name("total");
        serializePaymentItem(modifier.total, json);
    } else {
        json.name("total").nullValue();
    }
    // }}} total

    // supportedMethods {{{
    json.name("supportedMethods").beginArray();
    for (String method : modifier.methodData.supportedMethods) {
        json.value(method);
    }
    json.endArray();
    // }}} supportedMethods

    // data {{{
    json.name("data").value(modifier.methodData.stringifiedData);
    // }}}

    json.endObject();
    // }}}
}
 
void writePlaceTypesArray(JsonWriter writer, List<PlaceType> placeTypes) throws IOException {
    writer.beginArray();
    for (PlaceType type : placeTypes) {
        switch (type) {
            case ROUTE:
                writer.value("route");
                break;
            case GEOCODE:
                writer.value("geocode");
                break;
        }
    }
    writer.endArray();
}
 
源代码7 项目: ans-android-sdk   文件: ViewSnapshot.java
@SuppressWarnings("deprecation")
private void addProperties(JsonWriter j, View v) throws IOException {
    final Class<?> viewClass = v.getClass();
    boolean processable = true;
    for (final PropertyDescription desc : mProperties) {
        if (desc.targetClass.isAssignableFrom(viewClass) && null != desc.accessor) {
            final Object value = desc.accessor.applyMethod(v);

            if (processable) {
                if (!TextUtils.isEmpty(desc.name)) {
                    if ("clickable".equals(desc.name)) {
                        boolean isClickable = (Boolean) value;
                        if (!isClickable || v instanceof AbsListView || v instanceof AbsoluteLayout) {
                            processable = false;
                        }
                    } else if ("alpha".equals(desc.name)) {
                        float alpha = (Float) value;
                        // 透明度是0则不可见
                        if (alpha == 0) {
                            processable = false;
                        }
                    } else if ("hidden".equals(desc.name)) {
                        int hide = (Integer) value;
                        // hidden是0则隐藏
                        if (hide != 0) {
                            processable = false;
                        }
                    }
                }
            }
            j.name("processable").value(processable ? "1" : "0");
            if (null == value) {
                // Don't produce anything in this case
            } else if (value instanceof Number) {
                j.name(desc.name).value((Number) value);
            } else if (value instanceof Boolean) {
                j.name(desc.name).value((Boolean) value);
            } else if (value instanceof ColorStateList) {
                j.name(desc.name).value((Integer) ((ColorStateList) value).getDefaultColor());
            } else if (value instanceof Drawable) {
                final Drawable drawable = (Drawable) value;
                final Rect bounds = drawable.getBounds();
                j.name(desc.name);
                j.beginObject();
                j.name("classes");
                j.beginArray();
                Class<?> klass = drawable.getClass();
                while (klass != Object.class) {
                    j.value(klass.getCanonicalName());
                    klass = klass.getSuperclass();
                }
                j.endArray();
                j.name("dimensions");
                j.beginObject();
                j.name("left").value(bounds.left);
                j.name("right").value(bounds.right);
                j.name("top").value(bounds.top);
                j.name("bottom").value(bounds.bottom);
                j.endObject();
                if (drawable instanceof ColorDrawable) {
                    final ColorDrawable colorDrawable = (ColorDrawable) drawable;
                    j.name("color").value(colorDrawable.getColor());
                }
                j.endObject();
            } else {
                j.name(desc.name).value(value.toString());
            }
        }
    }
}
 
源代码8 项目: delion   文件: AutofillPaymentInstrument.java
@Override
public void onFullCardDetails(CreditCard card, String cvc) {
    StringWriter stringWriter = new StringWriter();
    JsonWriter json = new JsonWriter(stringWriter);
    try {
        json.beginObject();

        json.name("cardholderName").value(card.getName());
        json.name("cardNumber").value(card.getNumber());
        json.name("expiryMonth").value(card.getMonth());
        json.name("expiryYear").value(card.getYear());
        json.name("cardSecurityCode").value(cvc);

        if (mBillingAddress != null) {
            json.name("billingAddress").beginObject();

            json.name("country").value(ensureNotNull(mBillingAddress.getCountryCode()));
            json.name("region").value(ensureNotNull(mBillingAddress.getRegion()));
            json.name("city").value(ensureNotNull(mBillingAddress.getLocality()));
            json.name("dependentLocality")
                    .value(ensureNotNull(mBillingAddress.getDependentLocality()));

            json.name("addressLine").beginArray();
            String multipleLines = ensureNotNull(mBillingAddress.getStreetAddress());
            if (!TextUtils.isEmpty(multipleLines)) {
                String[] lines = multipleLines.split("\n");
                for (int i = 0; i < lines.length; i++) {
                    json.value(lines[i]);
                }
            }
            json.endArray();

            json.name("postalCode").value(ensureNotNull(mBillingAddress.getPostalCode()));
            json.name("sortingCode").value(ensureNotNull(mBillingAddress.getSortingCode()));
            json.name("languageCode").value(ensureNotNull(mBillingAddress.getLanguageCode()));
            json.name("organization").value(ensureNotNull(mBillingAddress.getCompanyName()));
            json.name("recipient").value(ensureNotNull(mBillingAddress.getFullName()));
            json.name("careOf").value("");
            json.name("phone").value(ensureNotNull(mBillingAddress.getPhoneNumber()));

            json.endObject();
        }

        json.endObject();
    } catch (IOException e) {
        mCallback.onInstrumentDetailsError();
        return;
    }

    mCallback.onInstrumentDetailsReady(card.getBasicCardPaymentType(), stringWriter.toString());
}
 
/**
 * Stringify the card details and send the resulting string and the method name to the
 * registered callback.
 */
private void sendIntrumentDetails() {
    StringWriter stringWriter = new StringWriter();
    JsonWriter json = new JsonWriter(stringWriter);
    try {
        json.beginObject();

        json.name("cardholderName").value(mCard.getName());
        json.name("cardNumber").value(mCard.getNumber());
        json.name("expiryMonth").value(mCard.getMonth());
        json.name("expiryYear").value(mCard.getYear());
        json.name("cardSecurityCode").value(mSecurityCode);

        json.name("billingAddress").beginObject();

        json.name("country").value(ensureNotNull(mBillingAddress.getCountryCode()));
        json.name("region").value(ensureNotNull(mBillingAddress.getRegion()));
        json.name("city").value(ensureNotNull(mBillingAddress.getLocality()));
        json.name("dependentLocality")
                .value(ensureNotNull(mBillingAddress.getDependentLocality()));

        json.name("addressLine").beginArray();
        String multipleLines = ensureNotNull(mBillingAddress.getStreetAddress());
        if (!TextUtils.isEmpty(multipleLines)) {
            String[] lines = multipleLines.split("\n");
            for (int i = 0; i < lines.length; i++) {
                json.value(lines[i]);
            }
        }
        json.endArray();

        json.name("postalCode").value(ensureNotNull(mBillingAddress.getPostalCode()));
        json.name("sortingCode").value(ensureNotNull(mBillingAddress.getSortingCode()));
        json.name("languageCode").value(ensureNotNull(mBillingAddress.getLanguageCode()));
        json.name("organization").value(ensureNotNull(mBillingAddress.getCompanyName()));
        json.name("recipient").value(ensureNotNull(mBillingAddress.getFullName()));
        json.name("phone").value(ensureNotNull(mBillingAddress.getPhoneNumber()));

        json.endObject();

        json.endObject();
    } catch (IOException e) {
        onFullCardError();
        return;
    } finally {
        mSecurityCode = "";
    }

    mCallback.onInstrumentDetailsReady(
            mCard.getBasicCardPaymentType(), stringWriter.toString());
}
 
源代码10 项目: sa-sdk-android   文件: ViewSnapshot.java
private void addProperties(JsonWriter j, View v)
        throws IOException {
    final Class<?> viewClass = v.getClass();
    for (final PropertyDescription desc : mProperties) {
        if (desc.targetClass.isAssignableFrom(viewClass) && null != desc.accessor) {
            final Object value = desc.accessor.applyMethod(v);
            if (null == value) {
                // Don't produce anything in this case
            } else if (value instanceof Number) {
                j.name(desc.name).value((Number) value);
            } else if (value instanceof Boolean) {
                boolean clickable = (boolean) value;
                if (TextUtils.equals("clickable", desc.name)) {
                    if (VisualUtil.isSupportClick(v)) {
                        clickable = true;
                    } else if (VisualUtil.isForbiddenClick(v)) {
                        clickable = false;
                    }
                }
                j.name(desc.name).value(clickable);
            } else if (value instanceof ColorStateList) {
                j.name(desc.name).value((Integer) ((ColorStateList) value).getDefaultColor());
            } else if (value instanceof Drawable) {
                final Drawable drawable = (Drawable) value;
                final Rect bounds = drawable.getBounds();
                j.name(desc.name);
                j.beginObject();
                j.name("classes");
                j.beginArray();
                Class klass = drawable.getClass();
                while (klass != Object.class) {
                    j.value(klass.getCanonicalName());
                    klass = klass.getSuperclass();
                }
                j.endArray();
                j.name("dimensions");
                j.beginObject();
                j.name("left").value(bounds.left);
                j.name("right").value(bounds.right);
                j.name("top").value(bounds.top);
                j.name("bottom").value(bounds.bottom);
                j.endObject();
                if (drawable instanceof ColorDrawable) {
                    final ColorDrawable colorDrawable = (ColorDrawable) drawable;
                    j.name("color").value(colorDrawable.getColor());
                }
                j.endObject();
            } else {
                j.name(desc.name).value(value.toString());
            }
        }
    }
}
 
源代码11 项目: sa-sdk-android   文件: ViewSnapshot.java
private void mergeWebViewNodes(JsonWriter j, WebNode view, View webView, float webViewScale) {
    try {
        j.beginObject();
        j.name("hashCode").value(view.getId());
        j.name("index").value(0);
        if (!TextUtils.isEmpty(view.get$element_selector())) {
            j.name("element_selector").value(view.get$element_selector());
        }
        if (!TextUtils.isEmpty(view.get$element_content())) {
            j.name("element_content").value(view.get$element_content());
        }
        j.name("element_level").value(++mSnapInfo.elementLevel);
        j.name("h5_title").value(view.get$title());
        float scale = view.getScale();
        if (webViewScale == 0) {
            webViewScale = scale;
        }
        // 原生 WebView getScrollX 能取到值,而 X5WebView 始终是 0
        float left = 0f, top = 0f;
        if (webView.getScrollX() == 0) {
            left = view.getLeft() * webViewScale;
        } else {
            left = (view.getLeft() + view.getScrollX()) * webViewScale;
        }
        if (webView.getScrollY() == 0) {
            top = view.getTop() * webViewScale;
        } else {
            top = (view.getTop() + view.getScrollY()) * webViewScale;
        }
        j.name("left").value((int) left);
        j.name("top").value((int) top);
        j.name("width").value((int) (view.getWidth() * webViewScale));
        j.name("height").value((int) (view.getHeight() * webViewScale));
        j.name("scrollX").value(0);
        j.name("scrollY").value(0);
        j.name("visibility").value(view.isVisibility() ? View.VISIBLE : View.GONE);
        j.name("url").value(view.get$url());
        j.name("clickable").value(true);
        j.name("importantForAccessibility").value(true);
        j.name("is_h5").value(true);

        j.name("classes");
        j.beginArray();
        j.value(view.getTagName());
        Class<?> klass = webView.getClass();
        do {
            j.value(klass.getCanonicalName());
            klass = klass.getSuperclass();
        } while (klass != Object.class && klass != null);
        j.endArray();

        List<String> list = view.getSubelements();
        if (list != null && list.size() > 0) {
            j.name("subviews");
            j.beginArray();
            for (String id : list) {
                j.value(id);
            }
            j.endArray();
        }
        j.endObject();
    } catch (IOException e) {
        SALog.printStackTrace(e);
    }

}
 
源代码12 项目: 365browser   文件: AutofillPaymentInstrument.java
/**
 * Stringify the card details and send the resulting string and the method name to the
 * registered callback.
 */
private void sendInstrumentDetails() {
    StringWriter stringWriter = new StringWriter();
    JsonWriter json = new JsonWriter(stringWriter);
    try {
        json.beginObject();

        json.name("cardholderName").value(mCard.getName());
        json.name("cardNumber").value(mCard.getNumber());
        json.name("expiryMonth").value(mCard.getMonth());
        json.name("expiryYear").value(mCard.getYear());
        json.name("cardSecurityCode").value(mSecurityCode);

        json.name("billingAddress").beginObject();

        json.name("country").value(ensureNotNull(mBillingAddress.getCountryCode()));
        json.name("region").value(ensureNotNull(mBillingAddress.getRegion()));
        json.name("city").value(ensureNotNull(mBillingAddress.getLocality()));
        json.name("dependentLocality")
                .value(ensureNotNull(mBillingAddress.getDependentLocality()));

        json.name("addressLine").beginArray();
        String multipleLines = ensureNotNull(mBillingAddress.getStreetAddress());
        if (!TextUtils.isEmpty(multipleLines)) {
            String[] lines = multipleLines.split("\n");
            for (int i = 0; i < lines.length; i++) {
                json.value(lines[i]);
            }
        }
        json.endArray();

        json.name("postalCode").value(ensureNotNull(mBillingAddress.getPostalCode()));
        json.name("sortingCode").value(ensureNotNull(mBillingAddress.getSortingCode()));
        json.name("languageCode").value(ensureNotNull(mBillingAddress.getLanguageCode()));
        json.name("organization").value(ensureNotNull(mBillingAddress.getCompanyName()));
        json.name("recipient").value(ensureNotNull(mBillingAddress.getFullName()));
        json.name("phone").value(ensureNotNull(mBillingAddress.getPhoneNumber()));

        json.endObject();

        json.endObject();
    } catch (IOException e) {
        onFullCardError();
        return;
    } finally {
        mSecurityCode = "";
    }

    mCallback.onInstrumentDetailsReady(mMethodName, stringWriter.toString());
}
 
源代码13 项目: clevertap-android-sdk   文件: SnapshotBuilder.java
private static void writeViewProperties(JsonWriter j, View v, ViewSnapshotConfig snapshotConfig) throws IOException {
    final Class<?> viewClass = v.getClass();
    for (final ViewProperty desc : snapshotConfig.propertyDescriptionList) {
        if (desc.target.isAssignableFrom(viewClass) && null != desc.accessor) {
            final Object value = desc.accessor.invokeMethod(v);
            //noinspection StatementWithEmptyBody
            if (null == value) {
                // no-op
            }  else if (value instanceof Boolean) {
                j.name(desc.name).value((Boolean) value);
            } else if (value instanceof Number) {
                j.name(desc.name).value((Number) value);
            } else if (value instanceof ColorStateList) {
                j.name(desc.name).value((Integer) ((ColorStateList) value).getDefaultColor());
            } else if (value instanceof Drawable) {
                final Drawable drawable = (Drawable) value;
                final Rect bounds = drawable.getBounds();
                j.name(desc.name);
                j.beginObject();
                j.name("classes");
                j.beginArray();
                Class klass = drawable.getClass();
                while (klass != Object.class) {
                    if (klass != null) {
                        j.value(klass.getCanonicalName());
                        klass = klass.getSuperclass();
                    }
                }
                j.endArray();
                j.name("dimensions");
                j.beginObject();
                j.name("left").value(bounds.left);
                j.name("right").value(bounds.right);
                j.name("top").value(bounds.top);
                j.name("bottom").value(bounds.bottom);
                j.endObject();
                if (drawable instanceof ColorDrawable) {
                    final ColorDrawable colorDrawable = (ColorDrawable) drawable;
                    j.name("color").value(colorDrawable.getColor());
                }
                j.endObject();
            } else {
                j.name(desc.name).value(value.toString());
            }
        }
    }
}