本文整理汇总了Java中com.squareup.moshi.JsonReader.hasNext方法的典型用法代码示例。如果您正苦于以下问题:Java JsonReader.hasNext方法的具体用法?Java JsonReader.hasNext怎么用?Java JsonReader.hasNext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.squareup.moshi.JsonReader
的用法示例。
在下文中一共展示了JsonReader.hasNext方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: fromJson
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
@FromJson
List<Applet> fromJson(JsonReader jsonReader, JsonAdapter<Applet> delegate) throws IOException {
List<Applet> applets = new ArrayList<>();
jsonReader.beginObject();
while (jsonReader.hasNext()) {
int index = jsonReader.selectName(OPTIONS);
switch (index) {
case -1:
jsonReader.skipValue();
break;
case 0:
jsonReader.beginArray();
while (jsonReader.hasNext()) {
Applet applet = delegate.fromJson(jsonReader);
applets.add(applet);
}
jsonReader.endArray();
break;
default:
throw new IllegalStateException("Unknown index: " + index);
}
}
jsonReader.endObject();
return applets;
}
示例2: fromJson
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
@Override
public Folder fromJson(JsonReader in) throws IOException {
if (in.peek() == JsonReader.Token.NULL) {
in.nextNull();
return null;
}
Folder folder = new Folder();
in.beginObject();
while (in.hasNext()) {
String name = in.nextName();
switch (name) {
case "id":
folder.setId(in.nextLong());
break;
case "name":
folder.setName(in.nextString());
break;
default:
Log.w(TAG, "Unknown value in folder json: " + name);
in.skipValue();
break;
}
}
in.endObject();
return folder;
}
示例3: readAvatar
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
private void readAvatar(JsonReader in, User user, String name) throws IOException {
in.beginObject();
while(in.hasNext()) {
String avatarName = in.nextName();
switch (avatarName) {
case "data":
user.setAvatar(in.nextString());
break;
case "mime":
user.setAvatarMime(in.nextString());
break;
default:
Log.w(TAG, "Unknown value in avatar json: " + name);
in.skipValue();
break;
}
}
in.endObject();
}
示例4: readWarnings
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
private void readWarnings(JsonReader in, Status status) throws IOException {
in.beginObject();
while(in.hasNext()) {
String name = in.nextName();
switch (name) {
case "improperlyConfiguredCron":
status.setImproperlyConfiguredCron(in.nextBoolean());
break;
case "incorrectDbCharset":
// TODO: 11/9/17 Show warning
in.skipValue();
break;
default:
Log.w(TAG, "Unknown value in status warnings json: " + name);
in.skipValue();
}
}
in.endObject();
}
示例5: fromJson
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
@Override
public Annotation fromJson(JsonReader reader) throws IOException {
Annotation.Builder result = Annotation.builder();
reader.beginObject();
while (reader.hasNext()) {
switch (reader.nextName()) {
case "timestamp":
result.timestamp(reader.nextLong());
break;
case "value":
result.value(reader.nextString());
break;
case "endpoint":
result.endpoint(ENDPOINT_ADAPTER.fromJson(reader));
break;
default:
reader.skipValue();
}
}
reader.endObject();
return result.build();
}
示例6: enterPath
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
@Nullable
public static JsonReader enterPath(JsonReader reader, String path) throws IOException {
try {
if (reader.peek() != JsonReader.Token.BEGIN_OBJECT) return null;
} catch (EOFException e) {
return null;
}
reader.beginObject();
while (reader.hasNext()) {
if (reader.nextName().equals(path) && reader.peek() != JsonReader.Token.NULL) {
return reader;
} else {
reader.skipValue();
}
}
reader.endObject();
return null;
}
示例7: fromJson
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
@Override
public ResourceIdentifier fromJson(JsonReader reader) throws IOException {
ResourceIdentifier object = new ResourceIdentifier();
reader.beginObject();
while (reader.hasNext()) {
switch (reader.nextName()) {
case "id":
object.setId(nextNullableString(reader));
break;
case "type":
object.setType(nextNullableString(reader));
break;
case "meta":
object.setMeta(nextNullableObject(reader, jsonBufferJsonAdapter));
break;
default:
reader.skipValue();
break;
}
}
reader.endObject();
return object;
}
示例8: fromJson
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
@Override
public HasOne<T> fromJson(JsonReader reader) throws IOException {
HasOne<T> relationship = new HasOne<>();
reader.beginObject();
while (reader.hasNext()) {
switch (reader.nextName()) {
case "data":
relationship.set(nextNullableObject(reader, resourceIdentifierJsonAdapter));
break;
case "meta":
relationship.setMeta(nextNullableObject(reader, jsonBufferJsonAdapter));
break;
case "links":
relationship.setLinks(nextNullableObject(reader, jsonBufferJsonAdapter));
break;
default:
reader.skipValue();
break;
}
}
reader.endObject();
return relationship;
}
示例9: jsonToServiceError
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
private ServiceError jsonToServiceError(Response response)
{
ServiceError serviceError = null;
BufferedSource source = response.body()
.source();
JsonReader reader = JsonReader.of(source);
try
{
reader.beginObject();
while(reader.hasNext())
{
String name = reader.nextName();
if(name.equals("requestError"))
{
ServiceException serviceException = getServiceException(reader);
serviceError = initServiceError(serviceError, serviceException);
}
}
}
catch(IOException e)
{
e.printStackTrace();
}
return serviceError;
}
示例10: read
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
@FromJson
public AnInterface read(JsonReader jsonReader) throws IOException {
jsonReader.beginObject();
String name = null;
while (jsonReader.hasNext()) {
switch (jsonReader.nextName()) {
case "name":
name = jsonReader.nextString();
break;
}
}
jsonReader.endObject();
return new AnImplementation(name);
}
示例11: read
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
@FromJson public AnInterface read(JsonReader jsonReader) throws IOException {
jsonReader.beginObject();
String name = null;
while (jsonReader.hasNext()) {
switch (jsonReader.nextName()) {
case "name":
name = jsonReader.nextString();
break;
}
}
jsonReader.endObject();
return new AnImplementation(name);
}
示例12: fromJson
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
@Nullable
@Override
public RealmList<T> fromJson(@NonNull JsonReader reader) throws IOException {
RealmList<T> result = new RealmList<>();
reader.beginArray();
while (reader.hasNext()) {
result.add(elementAdapter.fromJson(reader));
}
reader.endArray();
return result;
}
示例13: fromJson
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
@Override
public User fromJson(JsonReader in) throws IOException {
if (in.peek() == JsonReader.Token.NULL) {
in.nextNull();
return null;
}
User user = new User();
in.beginObject();
while (in.hasNext()) {
String name = in.nextName();
switch (name) {
case "userId":
user.setUserId(in.nextString());
break;
case "displayName":
user.setDisplayName(in.nextString());
break;
case "lastLoginTimestamp":
user.setLastLogin(new Date(in.nextLong() * 1000));
break;
case "avatar":
if(in.peek() == JsonReader.Token.NULL)
in.skipValue();
else
readAvatar(in, user, name);
break;
default:
Log.w(TAG, "Unknown value in user json: " + name);
in.skipValue();
break;
}
}
in.endObject();
return user;
}
示例14: fromJson
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
@Override
public Status fromJson(JsonReader in) throws IOException {
if (in.peek() == JsonReader.Token.NULL) {
in.nextNull();
return null;
}
final NullableJsonReader reader = new NullableJsonReader(in);
final Status status = new Status();
in.beginObject();
while (in.hasNext()) {
String name = in.nextName();
switch (name) {
case "version":
status.setVersion(reader.nextString());
break;
case "warnings":
case "issues":
// this is called warnings in api v1-2, issues in api v2
readWarnings(in, status);
break;
case "user":
status.setUser(new UserTypeAdapter().fromJson(in));
break;
default:
Log.w(TAG, "Unknown value in status json: " + name);
in.skipValue();
break;
}
}
in.endObject();
return status;
}
示例15: visitObject
import com.squareup.moshi.JsonReader; //导入方法依赖的package包/类
static void visitObject(JsonReader reader, String name, Set<String> result) throws IOException {
reader.beginObject();
while (reader.hasNext()) {
if (reader.nextName().equals(name)) {
result.add(reader.nextString());
} else {
visitNextOrSkip(reader, name, result);
}
}
reader.endObject();
}