Java Code Examples for android.util.JsonWriter#beginObject()

The following examples show how to use android.util.JsonWriter#beginObject() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: JsonUtils.java    From openboard with GNU General Public License v3.0 6 votes vote down vote up
public static String listToJsonStr(final List<Object> list) {
    if (list == null || list.isEmpty()) {
        return EMPTY_STRING;
    }
    final StringWriter sw = new StringWriter();
    final JsonWriter writer = new JsonWriter(sw);
    try {
        writer.beginArray();
        for (final Object o : list) {
            writer.beginObject();
            if (o instanceof Integer) {
                writer.name(INTEGER_CLASS_NAME).value((Integer)o);
            } else if (o instanceof String) {
                writer.name(STRING_CLASS_NAME).value((String)o);
            }
            writer.endObject();
        }
        writer.endArray();
        return sw.toString();
    } catch (final IOException e) {
    } finally {
        close(writer);
    }
    return EMPTY_STRING;
}
 
Example 2
Source File: JsonUtils.java    From Indic-Keyboard with Apache License 2.0 6 votes vote down vote up
public static String listToJsonStr(final List<Object> list) {
    if (list == null || list.isEmpty()) {
        return EMPTY_STRING;
    }
    final StringWriter sw = new StringWriter();
    final JsonWriter writer = new JsonWriter(sw);
    try {
        writer.beginArray();
        for (final Object o : list) {
            writer.beginObject();
            if (o instanceof Integer) {
                writer.name(INTEGER_CLASS_NAME).value((Integer)o);
            } else if (o instanceof String) {
                writer.name(STRING_CLASS_NAME).value((String)o);
            }
            writer.endObject();
        }
        writer.endArray();
        return sw.toString();
    } catch (final IOException e) {
    } finally {
        close(writer);
    }
    return EMPTY_STRING;
}
 
Example 3
Source File: AnswerScreenState.java    From androdns with Apache License 2.0 6 votes vote down vote up
public void toJSON(JsonWriter writer) throws IOException {
    writer.beginObject();
    writer.name("status").value(status);
    writer.name("rcode").value(rcode);
    writer.name("server").value(server);
    writer.name("qsize").value(qsize);
    writer.name("asize").value(asize);
    writer.name("flag_AA").value(flag_AA);
    writer.name("flag_TC").value(flag_TC);
    writer.name("flag_RD").value(flag_RD);
    writer.name("flag_RA").value(flag_RA);
    writer.name("flag_AD").value(flag_AD);
    writer.name("flag_CD").value(flag_CD);
    writer.name("answerText").value(answerText);
    writer.name("runtimestamp").value(runtimestamp);
    writer.name("duration").value(duration);
    writer.endObject();
}
 
Example 4
Source File: JsonUtils.java    From AOSP-Kayboard-7.1.2 with Apache License 2.0 6 votes vote down vote up
public static String listToJsonStr(final List<Object> list) {
    if (list == null || list.isEmpty()) {
        return EMPTY_STRING;
    }
    final StringWriter sw = new StringWriter();
    final JsonWriter writer = new JsonWriter(sw);
    try {
        writer.beginArray();
        for (final Object o : list) {
            writer.beginObject();
            if (o instanceof Integer) {
                writer.name(INTEGER_CLASS_NAME).value((Integer)o);
            } else if (o instanceof String) {
                writer.name(STRING_CLASS_NAME).value((String)o);
            }
            writer.endObject();
        }
        writer.endArray();
        return sw.toString();
    } catch (final IOException e) {
    } finally {
        close(writer);
    }
    return EMPTY_STRING;
}
 
Example 5
Source File: GeneralPreferenceFragment.java    From NClientV2 with Apache License 2.0 6 votes vote down vote up
private String getDataSettings(Context context)throws IOException{
    String[]names=new String[]{"Settings","ScrapedTags"};
    StringWriter sw=new StringWriter();
    JsonWriter writer=new JsonWriter(sw);
    writer.setIndent("\t");

    writer.beginObject();
    for(String name:names)
        processSharedFromName(writer,context,name);
    writer.endObject();

    writer.flush();
    String settings=sw.toString();
    writer.close();

    LogUtility.d(settings);
    return settings;
}
 
Example 6
Source File: TagsAdapter.java    From NClientV2 with Apache License 2.0 5 votes vote down vote up
private static void writeTag(JsonWriter jw, Tag tag) throws IOException{
    jw.beginObject();
    jw.name("id").value(tag.getId());
    jw.name("name").value(tag.getName());
    jw.name("type").value(tag.getTypeSingleName());
    jw.endObject();
}
 
Example 7
Source File: Gallery.java    From NClientV2 with Apache License 2.0 5 votes vote down vote up
private void toJsonTitle(JsonWriter writer)throws IOException{
    String title;
    writer.name("title");
    writer.beginObject();
    if((title=getTitle(TitleType.JAPANESE))!=null)
        writer.name("japanese").value(title);
    if((title=getTitle(TitleType.PRETTY))!=null)
        writer.name("pretty").value(title);
    if((title=getTitle(TitleType.ENGLISH))!=null)
        writer.name("english").value(title);
    writer.endObject();
}
 
Example 8
Source File: GeneralPreferenceFragment.java    From NClientV2 with Apache License 2.0 5 votes vote down vote up
private void processSharedFromName(JsonWriter writer, Context context, String name)throws IOException{
    writer.name(name);
    writer.beginObject();
    SharedPreferences preferences=context.getSharedPreferences(name,0);
    for(Map.Entry<String,?> entry: preferences.getAll().entrySet()){
        writeEntry(writer,entry);
    }
    writer.endObject();
}
 
Example 9
Source File: Gallery.java    From NClientV2 with Apache License 2.0 5 votes vote down vote up
public void jsonWrite(Writer ww)throws IOException{
    //images aren't saved
    JsonWriter writer=new JsonWriter(ww);
    writer.beginObject();
    writer.name("id").value(getId());
    writer.name("media_id").value(getMediaId());
    writer.name("upload_date").value(getUploadDate().getTime()/1000);
    writer.name("num_favorites").value(getFavoriteCount());
    toJsonTitle(writer);
    toJsonTags(writer);

    writer.endObject();
    writer.flush();
}
 
Example 10
Source File: AndroidPaymentApp.java    From 365browser with Apache License 2.0 5 votes vote down vote up
private static String serializeTotalAmount(PaymentCurrencyAmount totalAmount) {
    StringWriter stringWriter = new StringWriter();
    JsonWriter json = new JsonWriter(stringWriter);
    try {
        // {{{
        json.beginObject();
        json.name("currency").value(totalAmount.currency);
        json.name("value").value(totalAmount.value);
        json.endObject();
        // }}}
    } catch (IOException e) {
        return null;
    }
    return stringWriter.toString();
}
 
Example 11
Source File: Tag.java    From NClientV2 with Apache License 2.0 5 votes vote down vote up
void writeJson(JsonWriter writer)throws IOException{
    writer.beginObject();
    writer.name("count").value(count);
    writer.name("type").value(getTypeSingleName());
    writer.name("id").value(id);
    writer.name("name").value(name);
    writer.endObject();
}
 
Example 12
Source File: ShareManager.java    From samba-documents-provider with GNU General Public License v3.0 5 votes vote down vote up
private static void encodeTuple(JsonWriter writer, ShareTuple tuple) throws IOException {
  if (tuple == ShareTuple.EMPTY_TUPLE) {
    writer.nullValue();
  } else {
    writer.beginObject();
    writer.name(WORKGROUP_KEY).value(tuple.mWorkgroup);
    writer.name(USERNAME_KEY).value(tuple.mUsername);
    writer.name(PASSWORD_KEY).value(tuple.mPassword);
    writer.name(MOUNT_KEY).value(tuple.mIsMounted);
    writer.endObject();
  }
}
 
Example 13
Source File: AndroidPlacesApiJsonParser.java    From android-PlacesAutocompleteTextView with BSD 2-Clause "Simplified" License 5 votes vote down vote up
void writeDescriptionTermsArray(JsonWriter writer, List<DescriptionTerm> descriptionTerms) throws IOException {
    writer.beginArray();
    for (DescriptionTerm term : descriptionTerms) {
        writer.beginObject();
        writer.name("offset").value(term.offset);
        writer.name("value").value(term.value);
        writer.endObject();
    }
    writer.endArray();
}
 
Example 14
Source File: SimpleTest.java    From unmock-plugin with Apache License 2.0 5 votes vote down vote up
@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());

}
 
Example 15
Source File: AndroidPaymentApp.java    From 365browser with Apache License 2.0 5 votes vote down vote up
private static void serializePaymentItem(PaymentItem item, JsonWriter json) throws IOException {
    // item {{{
    json.beginObject();
    json.name("label").value(item.label);

    // amount {{{
    json.name("amount").beginObject();
    json.name("currency").value(item.amount.currency);
    json.name("value").value(item.amount.value);
    json.endObject();
    // }}} amount

    json.endObject();
    // }}} item
}
 
Example 16
Source File: AndroidPlacesApiJsonParser.java    From android-PlacesAutocompleteTextView with BSD 2-Clause "Simplified" License 5 votes vote down vote up
void writeMatchedSubstringsArray(JsonWriter writer, List<MatchedSubstring> matchedSubstrings) throws IOException {
    writer.beginArray();
    for (MatchedSubstring matchedSubstring : matchedSubstrings) {
        writer.beginObject();
        writer.name("length").value(matchedSubstring.length);
        writer.name("offset").value(matchedSubstring.offset);
        writer.endObject();
    }
    writer.endArray();
}
 
Example 17
Source File: ViewSnapshot.java    From ans-android-sdk with GNU General Public License v3.0 4 votes vote down vote up
@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());
            }
        }
    }
}
 
Example 18
Source File: AutofillPaymentInstrument.java    From AndroidChromium with Apache License 2.0 4 votes vote down vote up
/**
 * 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());
}
 
Example 19
Source File: SnapshotBuilder.java    From clevertap-android-sdk with MIT License 4 votes vote down vote up
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());
            }
        }
    }
}
 
Example 20
Source File: ViewSnapshot.java    From sa-sdk-android with Apache License 2.0 4 votes vote down vote up
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);
    }

}