当前位置: 首页>>代码示例>>Java>>正文


Java JsonNode.size方法代码示例

本文整理汇总了Java中com.fasterxml.jackson.databind.JsonNode.size方法的典型用法代码示例。如果您正苦于以下问题:Java JsonNode.size方法的具体用法?Java JsonNode.size怎么用?Java JsonNode.size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.fasterxml.jackson.databind.JsonNode的用法示例。


在下文中一共展示了JsonNode.size方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getDefaultSet

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Creates a default value for a set property by:
 * <ol>
 * <li>Creating a new {@link LinkedHashSet} with the correct generic type
 * <li>Using {@link Arrays#asList(Object...)} to initialize the set with the
 * correct default values
 * </ol>
 *
 * @param fieldType
 *            the java type that applies for this field ({@link Set} with
 *            some generic type argument)
 * @param node
 *            the node containing default values for this set
 * @return an expression that creates a default value that can be assigned
 *         to this field
 */
private JExpression getDefaultSet(JType fieldType, JsonNode node) {

    JClass setGenericType = ((JClass) fieldType).getTypeParameters().get(0);

    JClass setImplClass = fieldType.owner().ref(LinkedHashSet.class);
    setImplClass = setImplClass.narrow(setGenericType);

    JInvocation newSetImpl = JExpr._new(setImplClass);

    if (node instanceof ArrayNode && node.size() > 0) {
        JInvocation invokeAsList = fieldType.owner().ref(Arrays.class).staticInvoke("asList");
        for (JsonNode defaultValue : node) {
            invokeAsList.arg(getDefaultValue(setGenericType, defaultValue));
        }
        newSetImpl.arg(invokeAsList);
    } else if (!ruleFactory.getGenerationConfig().isInitializeCollections()) {
        return JExpr._null();
    }

    return newSetImpl;

}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:39,代码来源:DefaultRule.java

示例2: convert

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@Override
public List<DeviceData> convert(String topic, MqttMessage msg) throws Exception {
    String data = new String(msg.getPayload(), StandardCharsets.UTF_8);
    log.trace("Parsing json message: {}", data);

    if (!filterExpression.isEmpty()) {
        try {
            log.debug("Data before filtering {}", data);
            DocumentContext document = JsonPath.parse(data);
            document = JsonPath.parse((Object) document.read(filterExpression));
            data = document.jsonString();
            log.debug("Data after filtering {}", data);
        } catch (RuntimeException e) {
            log.debug("Failed to apply filter expression: {}", filterExpression);
            throw new RuntimeException("Failed to apply filter expression " + filterExpression);
        }
    }

    JsonNode node = mapper.readTree(data);
    List<String> srcList;
    if (node.isArray()) {
        srcList = new ArrayList<>(node.size());
        for (int i = 0; i < node.size(); i++) {
            srcList.add(mapper.writeValueAsString(node.get(i)));
        }
    } else {
        srcList = Collections.singletonList(data);
    }

    return parse(topic, srcList);
}
 
开发者ID:osswangxining,项目名称:iot-edge-greengrass,代码行数:32,代码来源:MqttJsonConverter.java

示例3: getDefaultList

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Creates a default value for a list property by:
 * <ol>
 * <li>Creating a new {@link ArrayList} with the correct generic type
 * <li>Using {@link Arrays#asList(Object...)} to initialize the list with
 * the correct default values
 * </ol>
 *
 * @param fieldType
 *            the java type that applies for this field ({@link List} with
 *            some generic type argument)
 * @param node
 *            the node containing default values for this list
 * @return an expression that creates a default value that can be assigned
 *         to this field
 */
private JExpression getDefaultList(JType fieldType, JsonNode node) {

    JClass listGenericType = ((JClass) fieldType).getTypeParameters().get(0);

    JClass listImplClass = fieldType.owner().ref(ArrayList.class);
    listImplClass = listImplClass.narrow(listGenericType);

    JInvocation newListImpl = JExpr._new(listImplClass);

    if (node instanceof ArrayNode && node.size() > 0) {
        JInvocation invokeAsList = fieldType.owner().ref(Arrays.class).staticInvoke("asList");
        for (JsonNode defaultValue : node) {
            invokeAsList.arg(getDefaultValue(listGenericType, defaultValue));
        }
        newListImpl.arg(invokeAsList);
    } else if (!ruleFactory.getGenerationConfig().isInitializeCollections()) {
        return JExpr._null();
    }

    return newListImpl;

}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:39,代码来源:DefaultRule.java

示例4: getStringOrArray

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
List<String> getStringOrArray(Map<String, JsonNode> tree, String claimName) throws JWTDecodeException {
    JsonNode node = tree.get(claimName);
    if (node == null || node.isNull() || !(node.isArray() || node.isTextual())) {
        return null;
    }
    if (node.isTextual() && !node.asText().isEmpty()) {
        return Collections.singletonList(node.asText());
    }

    ObjectMapper mapper = new ObjectMapper();
    List<String> list = new ArrayList<>(node.size());
    for (int i = 0; i < node.size(); i++) {
        try {
            list.add(mapper.treeToValue(node.get(i), String.class));
        } catch (JsonProcessingException e) {
            throw new JWTDecodeException("Couldn't map the Claim's array contents to String", e);
        }
    }
    return list;
}
 
开发者ID:GJWT,项目名称:javaOIDCMsg,代码行数:21,代码来源:PayloadDeserializer.java

示例5: transToValue

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * convert into value.
 * @param valueNode the BaseType JsonNode
 * @param baseType BooleanBaseType or IntegerBaseType or RealBaseType or
 *            StringBaseType or UuidBaseType
 * @return Object the value of JsonNode
 */
public static Object transToValue(JsonNode valueNode, BaseType baseType) {
    if (baseType instanceof BooleanBaseType) {
        return valueNode.asBoolean();
    } else if (baseType instanceof IntegerBaseType) {
        return valueNode.asInt();
    } else if (baseType instanceof RealBaseType) {
        return valueNode.asDouble();
    } else if (baseType instanceof StringBaseType) {
        return valueNode.asText();
    } else if (baseType instanceof UuidBaseType) {
        if (valueNode.isArray()) {
            if (valueNode.size() == 2) {
                if (valueNode.get(0).isTextual()
                        && ("uuid".equals(valueNode.get(0).asText()) || "named-uuid"
                                .equals(valueNode.get(0).asText()))) {
                    return Uuid.uuid(valueNode.get(1).asText());
                }
            }
        } else {
            return new RefTableRow(((UuidBaseType) baseType).getRefTable(), valueNode);
        }
    }
    return null;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:32,代码来源:TransValueUtil.java

示例6: getValues

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
public static List<List<?>> getValues(BeakerObjectConverter parent, JsonNode n, ObjectMapper mapper) throws IOException {
  List<List<?>> values = null;
  List<String> classes = null;
  if (n.has("types"))
    classes = mapper.readValue(n.get("types").asText(), List.class);
  if (n.has("values")) {
    JsonNode nn = n.get("values");
    values = new ArrayList<List<?>>();
    if (nn.isArray()) {
      for (JsonNode nno : nn) {
        if (nno.isArray()) {
          ArrayList<Object> val = new ArrayList<Object>();
          for (int i = 0; i < nno.size(); i++) {
            JsonNode nnoo = nno.get(i);
            Object obj = parent.deserialize(nnoo, mapper);
            val.add(TableDisplayDeSerializer.getValueForDeserializer(obj, classes != null && classes.size() > i ? classes.get(i) : null));
          }
          values.add(val);
        }
      }
    }
  }
  return values;
}
 
开发者ID:twosigma,项目名称:beaker-notebook-archive,代码行数:26,代码来源:TableDisplayDeSerializer.java

示例7: decodeLinkTypeConstraint

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Decodes a link type constraint.
 *
 * @return link type constraint object.
 */
private Constraint decodeLinkTypeConstraint() {
    boolean inclusive = nullIsIllegal(json.get(ConstraintCodec.INCLUSIVE),
            ConstraintCodec.INCLUSIVE + ConstraintCodec.MISSING_MEMBER_MESSAGE).asBoolean();

    JsonNode types = nullIsIllegal(json.get(ConstraintCodec.TYPES),
            ConstraintCodec.TYPES + ConstraintCodec.MISSING_MEMBER_MESSAGE);
    if (types.size() < 1) {
        throw new IllegalArgumentException(
                "types array in link constraint must have at least one value");
    }

    ArrayList<Link.Type> typesEntries = new ArrayList<>(types.size());
    IntStream.range(0, types.size())
            .forEach(index ->
                    typesEntries.add(Link.Type.valueOf(types.get(index).asText())));

    return new LinkTypeConstraint(inclusive,
            typesEntries.toArray(new Link.Type[types.size()]));
}
 
开发者ID:shlee89,项目名称:athena,代码行数:25,代码来源:DecodeConstraintCodecHelper.java

示例8: toConnectData

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@Override
public SchemaAndValue toConnectData(String topic, byte[] value) {
    JsonNode jsonValue;
    try {
        jsonValue = deserializer.deserialize(topic, value);
    } catch (SerializationException e) {
        throw new DataException("Converting byte[] to Kafka Connect data failed due to serialization error: ", e);
    }

    if (enableSchemas && (jsonValue == null || !jsonValue.isObject() || jsonValue.size() != 2 || !jsonValue.has("schema") || !jsonValue.has("payload")))
        throw new DataException("JsonConverter with schemas.enable requires \"schema\" and \"payload\" fields and may not contain additional fields." +
                " If you are trying to deserialize plain JSON data, set schemas.enable=false in your converter configuration.");

    // The deserialized data should either be an envelope object containing the schema and the payload or the schema
    // was stripped during serialization and we need to fill in an all-encompassing schema.
    if (!enableSchemas) {
        ObjectNode envelope = JsonNodeFactory.instance.objectNode();
        envelope.set("schema", null);
        envelope.set("payload", jsonValue);
        jsonValue = envelope;
    }

    return jsonToConnect(jsonValue);
}
 
开发者ID:YMCoding,项目名称:kafka-0.11.0.0-src-with-comment,代码行数:25,代码来源:JsonConverter.java

示例9: sock_msg

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@Override
public void sock_msg(WebSock sock, String message) {
	//log(username + "--> New message: " + message);
	try {
		JsonNode node = mapper.readTree(message);
		JsonNode type = node.get("t");
		JsonNode data = node.get("d");
		if (type != null) switch (type.textValue()) {
			case "b": 
				for (int i=0; i < data.size(); i++) sock_msg(sock,data.get(i).toString());
				break;
			case "challenges":
				clearIncomingChallenges();
				JsonNode in = data.get("in");
				if (in.size() > 0) {
					log("Challenge received as " + username + ": " + data.toString());
					for (int i=0;i<in.size();i++) {
						addChallenge(in.get(i).get("id").asText(),in.get(i)); 
					}
					for (Connection conn : getConns(username)) updateChallenges(conn,this);
					//String id = in.get(0).get("id").asText(); log("ACCEPTING: " + id); acceptChallenge(id);
				}
				break; 
			default: 
				break;
		}
	} 
	catch (Exception e) { e.printStackTrace(); } 
}
 
开发者ID:JohnChernoff,项目名称:BingoChess,代码行数:30,代码来源:BingoChessChallenge.java

示例10: deserialize

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * JsonNode convert into UpdateNotification.
 * @param node the "params" node of UpdateNotification JsonNode
 */
private UpdateNotification deserialize(JsonNode node) {
    if (node.isArray()) {
        if (node.size() == 2) {
            return new UpdateNotification(node.get(0).asText(), node.get(1));
        }
    }
    return null;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:13,代码来源:UpdateNotificationConverter.java

示例11: assertFactObjectBindings

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
private void assertFactObjectBindings(List<FactEntity.FactObjectBinding> bindings, String json) throws IOException {
  JsonNode node = reader.readTree(json);

  assertEquals(bindings.size(), node.size());
  for (int i = 0; i < node.size(); i++) {
    assertEquals(bindings.get(i).getDirectionValue(), node.get(i).get("direction").asInt());
    assertEquals(bindings.get(i).getObjectID().toString(), node.get(i).get("objectID").asText());
  }
}
 
开发者ID:mnemonic-no,项目名称:act-platform,代码行数:10,代码来源:FactEntityTest.java

示例12: dataDrivenValidTransactions

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@Test
public void dataDrivenValidTransactions() throws Exception {
    JsonNode json = new ObjectMapper().readTree(new InputStreamReader(getClass().getResourceAsStream(
            "tx_valid.json"), Charsets.UTF_8));
    for (JsonNode test : json) {
        if (test.isArray() && test.size() == 1 && test.get(0).isTextual())
            continue; // This is a comment.
        Transaction transaction = null;
        try {
            Map<TransactionOutPoint, Script> scriptPubKeys = parseScriptPubKeys(test.get(0));
            transaction = PARAMS.getDefaultSerializer().makeTransaction(HEX.decode(test.get(1).asText().toLowerCase()));
            transaction.verify();
            Set<VerifyFlag> verifyFlags = parseVerifyFlags(test.get(2).asText());

            for (int i = 0; i < transaction.getInputs().size(); i++) {
                TransactionInput input = transaction.getInputs().get(i);
                if (input.getOutpoint().getIndex() == 0xffffffffL)
                    input.getOutpoint().setIndex(-1);
                assertTrue(scriptPubKeys.containsKey(input.getOutpoint()));
                input.getScriptSig().correctlySpends(transaction, i, scriptPubKeys.get(input.getOutpoint()),
                        verifyFlags);
            }
        } catch (Exception e) {
            System.err.println(test);
            if (transaction != null)
                System.err.println(transaction);
            throw e;
        }
    }
}
 
开发者ID:creativechain,项目名称:creacoinj,代码行数:31,代码来源:ScriptTest.java

示例13: startGame

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
private void startGame(String gid, BingoListener l) {
	JsonNode playing = finger().get("nowPlaying");
	log ("starting, gid: " + gid);
	log("starting, playing: " + playing);
	for (int i=0; i<playing.size();i++) {
		if (playing.get(i).get("gameId").asText().equals(gid)) {
			String opponent = playing.get(i).get("opponent").get("id").asText().toLowerCase(); //lowercase
			String color = playing.get(i).get("color").asText();
			ChessPlayer newPlayer = new ChessPlayer(playing.get(i).get("fullId").asText(),this,wager,l);
			chessplayers.put(gid + username.toLowerCase(),newPlayer);
			if (!chessgames.containsKey(gid)) {
				log("Creating game: " + username + "-> " + opponent);
				if (color.equals("white")) {
					chessgames.put(gid,new LichessGame(gid,username,opponent));
				}
				else chessgames.put(gid,new LichessGame(gid,opponent,username.toLowerCase()));
			}
			clearIncomingChallenges();
			clearOutgoingChallenges();
			for (Connection conn : getConns(username)) {
					conn.tell("begin_lichess_game", playing.get(i));
					conn.tell("game", newPlayer.lastPos);
					updateChallenges(conn,this);
					//updateLichess(conn);
			}
			newPlayer.listener.updateCard(newPlayer);
			return;
		}
	}
}
 
开发者ID:JohnChernoff,项目名称:BingoChess,代码行数:31,代码来源:BingoChessChallenge.java

示例14: matchArrayElement

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@VisibleForTesting
MatchType matchArrayElement(JsonNode arrayDatum, Schema schema) {
  if (arrayDatum.size() >= 1) {
    // We only infer from the first element in the array
    return matches(arrayDatum.get(0), schema.getElementType());
  } else {
    // It may seem odd to return FULL here instead of AMBIGUOUS, but in the context of the document with an empty
    // array, it fully matches the array type declared in the schema. Therefore we would not like to favour another
    // ambiguous match over this one.
    log.debug("No JsonNode array element to match against '{}'", schema.getElementType());
    return MatchType.FULL;
  }
}
 
开发者ID:HotelsDotCom,项目名称:jasvorno,代码行数:14,代码来源:JasvornoConverter.java

示例15: convert

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@Override
public List<DeviceData> convert(String topic, MqttMessage msg) throws Exception {
  String data = new String(msg.getPayload(), StandardCharsets.UTF_8);
  log.trace("Parsing json message: {}", data);

  if (!filterExpression.isEmpty()) {
    try {
      log.debug("Data before filtering {}", data);
      DocumentContext document = JsonPath.parse(data);
      document = JsonPath.parse((Object) document.read(filterExpression));
      data = document.jsonString();
      log.debug("Data after filtering {}", data);
    } catch (RuntimeException e) {
      log.debug("Failed to apply filter expression: {}", filterExpression);
      throw new RuntimeException("Failed to apply filter expression " + filterExpression);
    }
  }

  JsonNode node = mapper.readTree(data);
  List<String> srcList;
  if (node.isArray()) {
    srcList = new ArrayList<>(node.size());
    for (int i = 0; i < node.size(); i++) {
      srcList.add(mapper.writeValueAsString(node.get(i)));
    }
  } else {
    srcList = Collections.singletonList(data);
  }

  return parse(topic, srcList);
}
 
开发者ID:osswangxining,项目名称:iotgateway,代码行数:32,代码来源:MqttJsonConverter.java


注:本文中的com.fasterxml.jackson.databind.JsonNode.size方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。