类android.util.JsonWriter源码实例Demo

下面列出了怎么用android.util.JsonWriter的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: openboard   文件: JsonUtils.java
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;
}
 
源代码2 项目: NClientV2   文件: GeneralPreferenceFragment.java
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;
}
 
public void prepareJSRuntime(JSDebuggerCallback callback) {
  int requestID = mRequestID.getAndIncrement();
  mCallbacks.put(requestID, callback);

  try {
    StringWriter sw = new StringWriter();
    JsonWriter js = new JsonWriter(sw);
    js.beginObject()
      .name("id").value(requestID)
      .name("method").value("prepareJSRuntime")
      .endObject()
      .close();
    sendMessage(requestID, sw.toString());
  } catch (IOException e) {
    triggerRequestFailure(requestID, e);
  }
}
 
public void loadApplicationScript(
    String sourceURL,
    HashMap<String, String> injectedObjects,
    JSDebuggerCallback callback) {
  int requestID = mRequestID.getAndIncrement();
  mCallbacks.put(requestID, callback);

  try {
    StringWriter sw = new StringWriter();
    JsonWriter js = new JsonWriter(sw)
       .beginObject()
       .name("id").value(requestID)
       .name("method").value("executeApplicationScript")
       .name("url").value(sourceURL)
       .name("inject").beginObject();
    for (String key : injectedObjects.keySet()) {
      js.name(key).value(injectedObjects.get(key));
    }
    js.endObject().endObject().close();
    sendMessage(requestID, sw.toString());
  } catch (IOException e) {
    triggerRequestFailure(requestID, e);
  }
}
 
public void executeJSCall(
    String methodName,
    String jsonArgsArray,
    JSDebuggerCallback callback) {
  int requestID = mRequestID.getAndIncrement();
  mCallbacks.put(requestID, callback);

  try {
    StringWriter sw = new StringWriter();
    JsonWriter js = new JsonWriter(sw);

    js.beginObject()
      .name("id").value(requestID)
      .name("method").value(methodName);
    /* JsonWriter does not offer writing raw string (without quotes), that's why
       here we directly write to output string using the the underlying StringWriter */
    sw.append(",\"arguments\":").append(jsonArgsArray);
    js.endObject().close();
    sendMessage(requestID, sw.toString());
  } catch (IOException e) {
    triggerRequestFailure(requestID, e);
  }
}
 
源代码6 项目: 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());
}
 
源代码7 项目: AOSP-Kayboard-7.1.2   文件: JsonUtils.java
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;
}
 
源代码8 项目: androdns   文件: Session.java
public void toJSON(JsonWriter writer) throws IOException {
    writer.beginObject();
    writer.name("qname").value(qname);
    writer.name("server").value(server);
    writer.name("qtype").value(qtype);
    writer.name("qclass").value(qclass);
    writer.name("protocol").value(protocol);
    writer.name("flag_rd").value(flag_RD);
    writer.name("flag_cd").value(flag_CD);
    writer.name("flag_do").value(flag_DO);
    writer.name("tcp").value(TCP);
    writer.name("port").value(port);


    writer.name("answer");
    if(answer != null){
        answer.toJSON(writer);
    } else {
        writer.nullValue();
    }

    writer.endObject();
}
 
源代码9 项目: androdns   文件: SessionStorage.java
public static void save(Context context, String filename, ArrayList<Session> sessions) {
    try {

        FileOutputStream fos = context.openFileOutput(filename, Context.MODE_PRIVATE);

        JsonWriter writer = new JsonWriter(new OutputStreamWriter(fos, "UTF-8"));
        writer.setIndent("  ");
        writer.beginArray();
        for (Session s : sessions) {
            s.toJSON(writer);
        }
        writer.endArray();
        writer.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
源代码10 项目: androdns   文件: AnswerScreenState.java
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();
}
 
源代码11 项目: samba-documents-provider   文件: ShareManager.java
private static String encode(String uri, ShareTuple tuple) {
  final StringWriter stringWriter = new StringWriter();
  try (final JsonWriter jsonWriter = new JsonWriter(stringWriter)) {
    jsonWriter.beginObject();
    jsonWriter.name(URI_KEY).value(uri);

    jsonWriter.name(CREDENTIAL_TUPLE_KEY);
    encodeTuple(jsonWriter, tuple);
    jsonWriter.endObject();
  } catch (IOException e) {
    Log.e(TAG, "Failed to encode credential for " + uri);
    return null;
  }

  return stringWriter.toString();
}
 
源代码12 项目: Indic-Keyboard   文件: JsonUtils.java
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;
}
 
源代码13 项目: NClientV2   文件: Tag.java
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();
}
 
源代码14 项目: NClientV2   文件: Gallery.java
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();
}
 
源代码15 项目: NClientV2   文件: Gallery.java
private void toJsonTags(JsonWriter writer)throws IOException{
    writer.name("tags");
    writer.beginArray();
    for(Tag t:getTags().getAllTagsSet())
        t.writeJson(writer);
    writer.endArray();
}
 
源代码16 项目: NClientV2   文件: Gallery.java
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();
}
 
源代码17 项目: NClientV2   文件: TagsAdapter.java
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();
}
 
源代码18 项目: NClientV2   文件: GeneralPreferenceFragment.java
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();
}
 
源代码19 项目: 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());
}
 
JsonValueObjectEncoderContext(
    @NonNull Writer writer,
    @NonNull Map<Class<?>, ObjectEncoder<?>> objectEncoders,
    @NonNull Map<Class<?>, ValueEncoder<?>> valueEncoders,
    ObjectEncoder<Object> fallbackEncoder,
    boolean ignoreNullValues) {
  this.jsonWriter = new JsonWriter(writer);
  this.objectEncoders = objectEncoders;
  this.valueEncoders = valueEncoders;
  this.fallbackEncoder = fallbackEncoder;
  this.ignoreNullValues = ignoreNullValues;
}
 
void writePlace(JsonWriter writer, Address address) throws IOException {
    writer.beginObject();
    writer.name("text").value(address.getText());
    writer.name("street_line").value(address.getStreetLine());
    writer.name("city").value(address.getCity());
    writer.name("state").value(address.getState());
    writer.endObject();
}
 
@Before
public void setUp() throws IOException {
    parser = new AndroidSmartyStreetsApiJsonParser();
    writer = mock(JsonWriter.class);
    actual = new ArrayList<>();

    when(writer.beginArray()).then(new CompositeValueAnswer(BEGIN_ARRAY));
    when(writer.endArray()).then(new CompositeValueAnswer(END_ARRAY));
    when(writer.beginObject()).then(new CompositeValueAnswer(BEGIN_OBJECT));
    when(writer.endObject()).then(new CompositeValueAnswer(END_OBJECT));
    when(writer.value(anyInt())).then(new ValueAnswer());
    when(writer.value(anyBoolean())).then(new ValueAnswer());
    when(writer.value(anyString())).then(new ValueAnswer());
    when(writer.name(anyString())).then(new ValueAnswer());
}
 
源代码23 项目: samba-documents-provider   文件: ShareManager.java
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();
  }
}
 
源代码24 项目: 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());

}
 
源代码25 项目: 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());

}
 
源代码26 项目: sa-sdk-android   文件: ViewSnapshot.java
private void snapshotViewHierarchy(JsonWriter j, View rootView)
        throws IOException {
    reset();
    j.beginArray();
    snapshotView(j, rootView, 0);
    j.endArray();
}
 
源代码27 项目: 365browser   文件: AndroidPaymentApp.java
private static String serializeDetails(
        PaymentItem total, @Nullable List<PaymentItem> displayItems) {
    StringWriter stringWriter = new StringWriter();
    JsonWriter json = new JsonWriter(stringWriter);
    try {
        // details {{{
        json.beginObject();

        // total {{{
        json.name("total");
        serializePaymentItem(total, json);
        // }}} total

        // displayitems {{{
        if (displayItems != null) {
            json.name("displayItems").beginArray();
            for (int i = 0; i < displayItems.size(); i++) {
                serializePaymentItem(displayItems.get(i), json);
            }
            json.endArray();
        }
        // }}} displayItems

        json.endObject();
        // }}} details
    } catch (IOException e) {
        return null;
    }

    return stringWriter.toString();
}
 
源代码28 项目: 365browser   文件: AndroidPaymentApp.java
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();
}
 
源代码29 项目: 365browser   文件: AndroidPaymentApp.java
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
}
 
源代码30 项目: 365browser   文件: AndroidPaymentApp.java
private static String serializeModifiers(Collection<PaymentDetailsModifier> modifiers) {
    StringWriter stringWriter = new StringWriter();
    JsonWriter json = new JsonWriter(stringWriter);
    try {
        json.beginArray();
        for (PaymentDetailsModifier modifier : modifiers) {
            serializeModifier(modifier, json);
        }
        json.endArray();
    } catch (IOException e) {
        return EMPTY_JSON_DATA;
    }
    return stringWriter.toString();
}