com.google.gson.JsonElement.isJsonArray()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(11.5k)|赞(0)|评价(0)|浏览(236)

本文整理了Java中com.google.gson.JsonElement.isJsonArray()方法的一些代码示例,展示了JsonElement.isJsonArray()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonElement.isJsonArray()方法的具体详情如下:
包路径:com.google.gson.JsonElement
类名称:JsonElement
方法名:isJsonArray

JsonElement.isJsonArray介绍

[英]provides check for verifying if this element is an array or not.
[中]提供用于验证此元素是否为数组的检查。

代码示例

代码示例来源:origin: MovingBlocks/Terasology

@Override
public SetMultimap<String, V> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
  SetMultimap<String, V> result = HashMultimap.create();
  JsonObject obj = json.getAsJsonObject();
  for (Map.Entry<String, JsonElement> entry : obj.entrySet()) {
    if (entry.getValue().isJsonArray()) {
      for (JsonElement item : entry.getValue().getAsJsonArray()) {
        result.put(entry.getKey(), context.<V>deserialize(item, valueType));
      }
    } else {
      result.put(entry.getKey(), context.<V>deserialize(entry.getValue(), valueType));
    }
  }
  return result;
}

代码示例来源:origin: searchbox-io/Jest

public DateRangeAggregation(String name, JsonObject dateRangeAggregation) {
  super(name, dateRangeAggregation);
  if (dateRangeAggregation.has(String.valueOf(BUCKETS)) && dateRangeAggregation.get(String.valueOf(BUCKETS)).isJsonArray()) {
    parseBuckets(dateRangeAggregation.get(String.valueOf(BUCKETS)).getAsJsonArray());
  }
}

代码示例来源:origin: apache/incubator-gobblin

/**
 * Get the value of a property as a {@link JsonArray}.
 *
 * @param key property key
 * @return {@link JsonArray} value associated with the key
 */
public JsonArray getPropAsJsonArray(String key) {
 JsonElement jsonElement = this.jsonParser.parse(getProp(key));
 Preconditions.checkArgument(jsonElement.isJsonArray(),
   "Value for key " + key + " is malformed, it must be a JsonArray: " + jsonElement);
 return jsonElement.getAsJsonArray();
}

代码示例来源:origin: apache/incubator-gobblin

JsonElement columnValue = record.get(columnKey);
switch (schemaElement.getType()) {
 case UNION:
  break;
 default:
  if (columnValue.isJsonArray()) {
   parsed = parseJsonArrayType(schemaElement, columnValue);
  } else if (columnValue.isJsonObject()) {
   parsed = parseJsonObjectType(schemaElement, columnValue);
  } else {

代码示例来源:origin: com.github.mengxianun/air-data-core

/**
 * 解析 where 节点, 可以是数组, 对象, 或字符串
 */
public void parseWhere() {
  if (!validAttribute(JsonAttributes.WHERE)) {
    return;
  }
  JsonElement whereElement = jsonData.get(JsonAttributes.WHERE);
  if (whereElement.isJsonArray()) {
    ((JsonArray) whereElement).forEach(f -> action.addFilterItem(parseFilter(f)));
  } else if (whereElement.isJsonObject()) {
    Entry<String, JsonElement> objectFilter = ((JsonObject) whereElement).entrySet().iterator().next();
    String connectorString = objectFilter.getKey();
    JsonElement objectInnerFilter = objectFilter.getValue();
    FilterItem parsedFilter = parseFilter(objectInnerFilter);
    parsedFilter.setConnector(Connector.from(connectorString));
    action.addFilterItem(parsedFilter);
  } else {
    action.addFilterItem(parseFilter(whereElement));
  }
}

代码示例来源:origin: ForestryMC/ForestryMC

private void parseElement(Entries entries, JsonElement element, JsonDeserializationContext context) {
    if (element.isJsonArray()) {
      String[] array = context.deserialize(element, String[].class);
      entries.names.addAll(Arrays.asList(array));
    } else {
      JsonObject object = element.getAsJsonObject();
      for (Map.Entry<String, JsonElement> member : object.entrySet()) {
        if (ModuleHelper.isEnabled(member.getKey())) {
          parseElement(entries, member.getValue(), context);
        }
      }
    }
  }
}

代码示例来源:origin: kairosdb/kairosdb

public static boolean isNotNullOrEmpty(ValidationErrors validationErrors, Object name, JsonElement value)
{
  if (value == null)
  {
    validationErrors.addErrorMessage(name + " may not be null.");
    return false;
  }
  if (value.isJsonNull())
  {
    validationErrors.addErrorMessage(name + " may not be empty.");
    return false;
  }
  if (value.isJsonArray() && value.getAsJsonArray().size() < 1)
  {
    validationErrors.addErrorMessage(name + " may not be an empty array.");
    return false;
  }
  if (!value.isJsonObject() && value.getAsString().isEmpty())
  {
    validationErrors.addErrorMessage(name + " may not be empty.");
    return false;
  }
  return true;
}

代码示例来源:origin: camunda/camunda-bpm-platform

out.beginObject();
for (Map.Entry<K, V> entry : map.entrySet()) {
 out.name(String.valueOf(entry.getKey()));
 valueTypeAdapter.write(out, entry.getValue());
JsonElement keyElement = keyTypeAdapter.toJsonTree(entry.getKey());
keys.add(keyElement);
values.add(entry.getValue());
hasComplexKeys |= keyElement.isJsonArray() || keyElement.isJsonObject();

代码示例来源:origin: searchbox-io/Jest

private void parseBuckets(JsonElement buckets) {
  if (buckets.isJsonArray()) {
    int elementNumber = 0;
    for (JsonElement bucket : buckets.getAsJsonArray()) {
      addBucket("filter" + Integer.toString(elementNumber++), bucket.getAsJsonObject());
    }
  } else if (buckets.isJsonObject()) {
    for (Map.Entry<String, JsonElement> bucket : buckets.getAsJsonObject().entrySet()) {
      addBucket(bucket.getKey(), bucket.getValue().getAsJsonObject());
    }
  } else {
    log.debug("Skipped bucket parsing because Buckets element of JSON was neither Object nor Array.");
  }
}

代码示例来源:origin: searchbox-io/Jest

public HistogramAggregation(String name, JsonObject histogramAggregation) {
  super(name, histogramAggregation);
  if(histogramAggregation.has(String.valueOf(BUCKETS)) && histogramAggregation.get(String.valueOf(BUCKETS)).isJsonArray()) {
    parseBuckets(histogramAggregation.get(String.valueOf(BUCKETS)).getAsJsonArray());
  }
}

代码示例来源:origin: stackoverflow.com

String jsonStr = "your json string ";

Gson gson = new Gson();
JsonObject jsonObj = gson.fromJson (jsonStr, JsonElement.class).getAsJsonObject();

JsonElement elem = jsonObj.get("msg");

if(elem.isJsonArray()) { //**Array**
  ArrayList<MyMessage> msgList = gson.fromJson(elem.toString(), new TypeToken<List<MyMessage>>(){}.getType());
} else if(elem.isJsonObject()) { //**Object**
  Note note = gson.fromJson(elem.toString(), MyMessage.class);
} else {  //**String**
  String note = elem.toString();
}

代码示例来源:origin: searchbox-io/Jest

@Override
protected JsonObject parseResponseBody(String responseBody) {
  if (responseBody == null || responseBody.trim().isEmpty()) {
    return new JsonObject();
  }
  JsonElement parsed = new JsonParser().parse(responseBody);
  if (parsed.isJsonArray()) {
    JsonObject result = new JsonObject();
    result.add(PATH_TO_RESULT, parsed.getAsJsonArray());
    return result;
  } else {
    throw new JsonSyntaxException("Cat response did not contain a JSON Array");
  }
}

代码示例来源:origin: MovingBlocks/Terasology

@Override
public EntityData.Value deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
  EntityData.Value.Builder value = EntityData.Value.newBuilder();
  if (json.isJsonPrimitive()) {
    extractPrimitive(value, json);
  } else if (json.isJsonObject()) {
    extractMap(json, context, value);
  } else if (json.isJsonArray()) {
    JsonArray jsonArray = json.getAsJsonArray();
    TByteList byteList = new TByteArrayList();
    for (JsonElement element : jsonArray) {
      if (element.isJsonArray()) {
        value.addValue((EntityData.Value) context.deserialize(element, EntityData.Value.class));
      } else if (element.isJsonObject()) {
        value.addValue((EntityData.Value) context.deserialize(element, EntityData.Value.class));
      } else if (element.isJsonPrimitive()) {
        extractPrimitive(value, element);
        if (element.getAsJsonPrimitive().isNumber()) {
          try {
            byteList.add(element.getAsByte());
          } catch (NumberFormatException nfe) {
            byteList.add((byte) 0);
          }
        }
      }
    }
    value.setBytes(ByteString.copyFrom(byteList.toArray()));
  }
  return value.build();
}

代码示例来源:origin: apache/incubator-gobblin

/**
 * get error message while executing http url
 * @return error message
 */
private static String getFirstErrorMessage(String defaultMessage, JsonElement json) {
 if (json == null) {
  return defaultMessage;
 }
 JsonObject jsonObject = null;
 if (!json.isJsonArray()) {
  jsonObject = json.getAsJsonObject();
 } else {
  JsonArray jsonArray = json.getAsJsonArray();
  if (jsonArray.size() != 0) {
   jsonObject = jsonArray.get(0).getAsJsonObject();
  }
 }
 if (jsonObject != null) {
  if (jsonObject.has("error_description")) {
   defaultMessage = defaultMessage + jsonObject.get("error_description").getAsString();
  } else if (jsonObject.has("message")) {
   defaultMessage = defaultMessage + jsonObject.get("message").getAsString();
  }
 }
 return defaultMessage;
}

代码示例来源:origin: searchbox-io/Jest

public TermsAggregation(String name, JsonObject termAggregation) {
  super(name, termAggregation);
  if (termAggregation.has(String.valueOf(DOC_COUNT_ERROR_UPPER_BOUND))) {
    docCountErrorUpperBound = termAggregation.get(String.valueOf(DOC_COUNT_ERROR_UPPER_BOUND)).getAsLong();
  }
  if (termAggregation.has(String.valueOf(SUM_OTHER_DOC_COUNT))) {
    sumOtherDocCount = termAggregation.get(String.valueOf(SUM_OTHER_DOC_COUNT)).getAsLong();
  }
  if (termAggregation.has(String.valueOf(BUCKETS)) && termAggregation.get(String.valueOf(BUCKETS)).isJsonArray()) {
    parseBuckets(termAggregation.get(String.valueOf(BUCKETS)).getAsJsonArray());
  }
}

代码示例来源:origin: stackoverflow.com

String jsonStr = "your json string ";

Gson gson = new Gson();
JsonObject jsonObj = gson.fromJson (jsonStr, JsonElement.class).getAsJsonObject();

JsonElement elem = jsonObj.get("object");

if(elem.isJsonArray()) { // Array
  List<YourClass> notelist = gson.fromJson(elem.toString(), new TypeToken<List<YourClass>>(){}.getType());
} else if(elem.isJsonObject()) { // Object
  YourClass note = gson.fromJson(elem.toString(), YourClass.class);
}

代码示例来源:origin: mitreid-connect/OpenID-Connect-Java-Spring-Server

@Override
public List<String> load(String key) throws Exception {
  if (!key.startsWith("https")) {
    if (config.isForceHttps()) {
      throw new IllegalArgumentException("Sector identifier must start with https: " + key);
    }
    logger.error("Sector identifier doesn't start with https, loading anyway...");
  }
  // key is the sector URI
  String jsonString = restTemplate.getForObject(key, String.class);
  JsonElement json = parser.parse(jsonString);
  if (json.isJsonArray()) {
    List<String> redirectUris = new ArrayList<>();
    for (JsonElement el : json.getAsJsonArray()) {
      redirectUris.add(el.getAsString());
    }
    logger.info("Found " + redirectUris + " for sector " + key);
    return redirectUris;
  } else {
    throw new IllegalArgumentException("JSON Format Error");
  }
}

代码示例来源:origin: searchbox-io/Jest

private static JsonObject normalizeSourceClause(JsonObject queryObject) {
  JsonObject sourceObject;
  if (queryObject.has("_source")) {
    JsonElement sourceElement = queryObject.get("_source");
    if (sourceElement.isJsonObject()) {
      sourceObject = sourceElement.getAsJsonObject();
    } else if (sourceElement.isJsonArray()) {
      // in this case, the values of the array are includes
      sourceObject = new JsonObject();
      queryObject.add("_source", sourceObject);
      sourceObject.add("includes", sourceElement.getAsJsonArray());
    } else if (sourceElement.isJsonPrimitive() && sourceElement.getAsJsonPrimitive().isBoolean()) {
      // if _source is a boolean, we override the configuration with include/exclude
      sourceObject = new JsonObject();
    } else {
      throw new JsonSyntaxException("_source must be an object, an array or a boolean");
    }
  } else {
    sourceObject = new JsonObject();
  }
  queryObject.add("_source", sourceObject);
  return sourceObject;
}

代码示例来源:origin: searchbox-io/Jest

public DateHistogramAggregation(String name, JsonObject dateHistogramAggregation) {
  super(name, dateHistogramAggregation);
  if (dateHistogramAggregation.has(String.valueOf(BUCKETS)) && dateHistogramAggregation.get(String.valueOf(BUCKETS)).isJsonArray()) {
    parseBuckets(dateHistogramAggregation.get(String.valueOf(BUCKETS)).getAsJsonArray());
  }
}

代码示例来源:origin: stackoverflow.com

String jsonStr = "your json string ";

Gson gson = new Gson();
JsonObject jsonObj = gson.fromJson (jsonStr, JsonElement.class).getAsJsonObject();

JsonElement elem = jsonObj.get("note");

if(elem.isJsonArray()) { //**Array**
  List<Note> notelist = gson.fromJson(elem.toString(), new TypeToken<List<Note>>(){}.getType());
} else if(elem.isJsonObject()) { //**Object**
  Note note = gson.fromJson(elem.toString(), Note.class);
} else {  //**String**
  String note = elem.toString();
}

相关文章