org.eclipse.ditto.json.JsonObject.getField()方法的使用及代码示例

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

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

JsonObject.getField介绍

[英]Returns the JsonField which contains both JsonKey and JsonValue for the passed key.
[中]返回JsonField,其中包含传递的键的JsonKey和JsonValue。

代码示例

代码示例来源:origin: org.eclipse.ditto/ditto-model-things

@Override
public Optional<JsonField> getField(final CharSequence key) {
  return wrapped.getField(key);
}

代码示例来源:origin: eclipse/ditto

@Override
public Optional<JsonField> getField(final CharSequence key) {
  return wrapped.getField(key);
}

代码示例来源:origin: org.eclipse.ditto/ditto-model-things

@Override
public Optional<JsonField> getField(final CharSequence key) {
  return wrapped.getField(key);
}

代码示例来源:origin: eclipse/ditto

@Override
public Optional<JsonField> getField(final CharSequence key) {
  return wrapped.getField(key);
}

代码示例来源:origin: org.eclipse.ditto/ditto-json

@Override
public Optional<JsonField> getField(final CharSequence key) {
  requireNonNull(key, "The key or pointer of the field to be retrieved must not be null!");
  final JsonPointer pointer = JsonFactory.newPointer(key);
  Optional<JsonField> result = pointer.getRoot()
      .map(JsonKey::toString)
      .map(fields::get);
  if (1 < pointer.getLevelCount()) {
    result = result.map(JsonField::getValue)
        .filter(JsonValue::isObject)
        .map(JsonValue::asObject)
        .flatMap(jsonObject -> jsonObject.getField(pointer.nextLevel())); // Recursion
  }
  return result;
}

代码示例来源:origin: eclipse/ditto

@Override
public Optional<JsonField> getField(final CharSequence key) {
  requireNonNull(key, "The key or pointer of the field to be retrieved must not be null!");
  final JsonPointer pointer = JsonPointer.of(key);
  Optional<JsonField> result = pointer.getRoot()
      .map(JsonKey::toString)
      .map(fieldMap::getOrNull);
  if (1 < pointer.getLevelCount()) {
    result = result.map(JsonField::getValue)
        .filter(JsonValue::isObject)
        .map(JsonValue::asObject)
        .flatMap(jsonObject -> jsonObject.getField(pointer.nextLevel())); // Recursion
  }
  return result;
}

代码示例来源:origin: org.eclipse.ditto/ditto-json

@SuppressWarnings("unchecked")
private static JsonObject filterByTrie(final JsonObject self, final JsonFieldSelectorTrie trie) {
  if (trie.isEmpty()) {
    return self;
  }
  final JsonObjectBuilder builder = JsonFactory.newObjectBuilder();
  for (final JsonKey key : trie.getKeys()) {
    self.getField(key).ifPresent(child -> {
      final JsonValue childValue = child.getValue();
      final JsonValue filteredChildValue = childValue.isObject()
          ? filterByTrie(childValue.asObject(), trie.descend(key))
          : childValue;
      final Optional<JsonFieldDefinition> childFieldDefinition = child.getDefinition();
      if (childFieldDefinition.isPresent()) {
        builder.set(childFieldDefinition.get(), filteredChildValue);
      } else {
        builder.set(key, filteredChildValue);
      }
    });
  }
  return builder.build();
}

代码示例来源:origin: eclipse/ditto

@SuppressWarnings("unchecked")
private static JsonObject filterByTrie(final JsonObject self, final JsonFieldSelectorTrie trie) {
  if (trie.isEmpty()) {
    return self;
  }
  final JsonObjectBuilder builder = JsonObject.newBuilder();
  for (final JsonKey key : trie.getKeys()) {
    self.getField(key).ifPresent(child -> {
      final JsonValue childValue = child.getValue();
      final JsonValue filteredChildValue = childValue.isObject()
          ? filterByTrie(childValue.asObject(), trie.descend(key))
          : childValue;
      final Optional<JsonFieldDefinition> childFieldDefinition = child.getDefinition();
      if (childFieldDefinition.isPresent()) {
        builder.set(childFieldDefinition.get(), filteredChildValue);
      } else {
        builder.set(key, filteredChildValue);
      }
    });
  }
  return builder.build();
}

代码示例来源:origin: eclipse/ditto

private void isEqualTo(final Iterable<JsonField> expectedFields, final boolean compareFieldDefinitions) {
  isNotNull();
  final Collection<JsonField> missingFields = new ArrayList<>();
  for (final JsonField expectedField : expectedFields) {
    final Optional<JsonField> actualFieldOptional = actual.getField(expectedField.getKey());
    if (!actualFieldOptional.isPresent()) {
      missingFields.add(expectedField);
    } else {
      compareFields(expectedField, actualFieldOptional.get(), compareFieldDefinitions);
    }
  }
  Assertions.assertThat(missingFields)
      .overridingErrorMessage("Expected JSON object to contain \n<%s> but it did not contain \n<%s>",
          expectedFields, missingFields)
      .isEmpty();
  final Collection<JsonField> unexpectedActualFields = new ArrayList<>();
  for (final JsonField actualField : actual) {
    final Optional<JsonField> expectedFieldOptional = getField(expectedFields, actualField.getKey());
    if (!expectedFieldOptional.isPresent()) {
      unexpectedActualFields.add(actualField);
    }
  }
  Assertions.assertThat(unexpectedActualFields)
      .overridingErrorMessage("Expected JSON object not to contain\n<%s> but it did", unexpectedActualFields)
      .isEmpty();
}

相关文章