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


Java JsonNode.forEach方法代码示例

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


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

示例1: bgpPeer

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Returns the set of nodes read from network config.
 *
 * @return list of BgpPeerConfig or null
 */
public List<BgpPeerConfig> bgpPeer() {
    List<BgpPeerConfig> nodes = new ArrayList<BgpPeerConfig>();

    JsonNode jsonNodes = object.get(BGP_PEER);
    if (jsonNodes == null) {
        return null;
    }

    jsonNodes.forEach(jsonNode -> nodes.add(new BgpPeerConfig(
            jsonNode.path(PEER_IP).asText(),
            jsonNode.path(REMOTE_AS).asInt(),
            jsonNode.path(PEER_HOLD_TIME).asInt(),
            jsonNode.path(PEER_CONNECT_MODE).asText())));

    return nodes;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:22,代码来源:BgpAppConfig.java

示例2: parseLibrary

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
private BuckLibrary parseLibrary(Map.Entry<String, JsonNode> entry) {
    String libraryName = entry.getKey();
    JsonNode list = entry.getValue();
    if (list.size() == 0) {
        throw new RuntimeException("Empty library: " + libraryName);
    }

    List<String> libraryTargets = new ArrayList<>(list.size());
    list.forEach(node -> {
        String name;
        if (node.isObject()) {
            name = node.get("name").asText();
        } else if (node.isTextual()) {
            name = node.asText();
        } else {
            throw new RuntimeException("Unknown node type: " + node.getNodeType());
        }
        if (!name.contains(":")) {
            name = ':' + name;
        }
        libraryTargets.add(name);
    });

    return BuckLibrary.getLibrary(libraryName, libraryTargets);
}
 
开发者ID:shlee89,项目名称:athena,代码行数:26,代码来源:BuckLibGenerator.java

示例3: providerServices

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@Override
public Set<VtnServiceId> providerServices(VtnServiceId tServiceId) {
    checkNotNull(tServiceId);

    String response = restGet(tServiceId.id());
    log.trace("Get provider services {}", response);

    ObjectMapper mapper = new ObjectMapper();
    Set<VtnServiceId> pServices = Sets.newHashSet();

    try {
        JsonNode nodes = mapper.readTree(response);
        nodes.forEach(node -> pServices.add(VtnServiceId.of(node.asText())));
    } catch (IOException e) {
        log.warn("Failed to get service dependency");
    }
    return pServices;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:19,代码来源:DefaultVtnServiceApi.java

示例4: nodes

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Returns the data plane IP map of nodes read from network config.
 *
 * @return data plane IP map
 */
public Map<DeviceId, Ip4Address> nodes() {
    Map<DeviceId, Ip4Address> nodeMap = Maps.newHashMap();

    JsonNode jsonNodes = object.get(NODES);
    if (jsonNodes == null) {
        log.error("There's no node information");
        return null;
    }

    jsonNodes.forEach(jsonNode -> {
        try {
            nodeMap.putIfAbsent(DeviceId.deviceId(jsonNode.path(BRIDGE_ID).asText()),
                    Ip4Address.valueOf(jsonNode.path(DATAPLANE_IP).asText()));
        } catch (IllegalArgumentException | NullPointerException e) {
            log.error("Failed to read {}", e.toString());
        }
    });
    return nodeMap;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:25,代码来源:OpenstackNetworkingConfig.java

示例5: localIp4PrefixEntries

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Gets the set of configured local IPv4 prefixes.
 *
 * @return IPv4 prefixes
 */
public Set<LocalIpPrefixEntry> localIp4PrefixEntries() {
    Set<LocalIpPrefixEntry> prefixes = Sets.newHashSet();

    JsonNode prefixesNode = object.get(IP4LOCALPREFIXES);
    if (prefixesNode == null) {
        log.warn("ip4LocalPrefixes is null!");
        return prefixes;
    }

    prefixesNode.forEach(jsonNode -> {

        prefixes.add(new LocalIpPrefixEntry(
                IpPrefix.valueOf(jsonNode.get(IPPREFIX).asText()),
                IpPrefixType.valueOf(jsonNode.get(TYPE).asText()),
                IpAddress.valueOf(jsonNode.get(GATEWAYIP).asText())));
    });

    return prefixes;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:25,代码来源:ReactiveRoutingConfig.java

示例6: localIp6PrefixEntries

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Gets the set of configured local IPv6 prefixes.
 *
 * @return IPv6 prefixes
 */
public Set<LocalIpPrefixEntry> localIp6PrefixEntries() {
    Set<LocalIpPrefixEntry> prefixes = Sets.newHashSet();

    JsonNode prefixesNode = object.get(IP6LOCALPREFIXES);

    if (prefixesNode == null) {
        log.warn("ip6LocalPrefixes is null!");
        return prefixes;
    }

    prefixesNode.forEach(jsonNode -> {

        prefixes.add(new LocalIpPrefixEntry(
                IpPrefix.valueOf(jsonNode.get(IPPREFIX).asText()),
                IpPrefixType.valueOf(jsonNode.get(TYPE).asText()),
                IpAddress.valueOf(jsonNode.get(GATEWAYIP).asText())));
    });

    return prefixes;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:26,代码来源:ReactiveRoutingConfig.java

示例7: addPeerToSpeaker

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Adds peering address to BGP speaker.
 *
 * @param speakerName name of BGP speaker
 * @param peerAddress peering address to be added
 */
public void addPeerToSpeaker(String speakerName, IpAddress peerAddress) {
    JsonNode speakersNode = object.get(SPEAKERS);
    speakersNode.forEach(jsonNode -> {
        if (jsonNode.hasNonNull(NAME) &&
                jsonNode.get(NAME).asText().equals(speakerName)) {
            ArrayNode peersNode = (ArrayNode) jsonNode.get(PEERS);
            for (int i = 0; i < peersNode.size(); i++) {
                if (peersNode.get(i).asText().equals(peerAddress.toString())) {
                    return; // Peer already exists.
                }
            }
            peersNode.add(peerAddress.toString());
        }
    });
}
 
开发者ID:shlee89,项目名称:athena,代码行数:22,代码来源:BgpConfig.java

示例8: removePeerFromSpeaker

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Removes peering address from BGP speaker.
 *
 * @param speaker BGP speaker configuration entries
 * @param peerAddress peering address to be removed
 */
public void removePeerFromSpeaker(BgpSpeakerConfig speaker, IpAddress peerAddress) {
    JsonNode speakersNode = object.get(SPEAKERS);
    speakersNode.forEach(jsonNode -> {
        if (jsonNode.hasNonNull(NAME) &&
                jsonNode.get(NAME).asText().equals(speaker.name().get())) {
            ArrayNode peersNode = (ArrayNode) jsonNode.get(PEERS);
            for (int i = 0; i < peersNode.size(); i++) {
                if (peersNode.get(i).asText().equals(peerAddress.toString())) {
                    peersNode.remove(i);
                    return;
                }
            }
        }
    });
}
 
开发者ID:shlee89,项目名称:athena,代码行数:22,代码来源:BgpConfig.java

示例9: gatewayNodes

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Returns the set of nodes read from network config.
 *
 * @return set of OpensatckNodeConfig or null
 */
public Set<GatewayNode> gatewayNodes() {

    Set<GatewayNode> nodes = Sets.newHashSet();

    JsonNode jsonNodes = object.get(NODES);
    if (jsonNodes == null) {
        return null;
    }

    jsonNodes.forEach(jsonNode -> {
        try {
            nodes.add(new GatewayNode.Builder()
                    .gatewayDeviceId(DeviceId.deviceId(jsonNode.path(BRIDGE_ID).asText()))
                    .gatewayExternalInterfaceNames(
                            getExternalInterfaceName(jsonNode.path(EXTERNAL_INTERFACE_NAME).asText()))
                    .dataIpAddress(Ip4Address.valueOf(jsonNode.path(DATAPLANE_IP).asText())).build());
        } catch (IllegalArgumentException | NullPointerException e) {
            log.error("Failed to read {}", e.toString());
        }
    });
    return nodes;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:28,代码来源:GatewayNodeConfig.java

示例10: test02

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@Test
public void test02() throws Exception {
    //49
    ObjectMapper mapper = new ObjectMapper();
    List<String> ret = new ArrayList<>();
    String url = "https://xueqiu.com/stock/cata/stocklist.json?page=";
    String param = "&size=100&order=desc&orderby=percent&type=11%2C12&_=1461851096446";
    for (int i = 1; i <= 50; i++) {
        String dest = url + i + param;
        HttpRequest req = HttpRequest.get(dest);
        req.header("Cookie", "xq_a_token=93b9123bccf67168e3adb0c07d89b9e1f6cc8db6;");
        String body = req.body();
        ret.add(body);

        JsonNode jsonNode = mapper.readTree(body);
        JsonNode stocks = jsonNode.get("stocks");
        stocks.forEach(st->{
            Stock stock = null;
            try {
                stock = mapper.readValue(st.toString(), Stock.class);
                DaoUtil.dao.insert(stock);
            } catch (Exception e) {
                e.printStackTrace();
            }

        });
        Thread.sleep(500);
        System.out.println("fetch url " + dest + " result " + body);

    }
    System.out.println("final result---> " + mapper.writeValueAsString(ret));

}
 
开发者ID:jt120,项目名称:take,代码行数:34,代码来源:LoginTest.java

示例11: extractDeviceIds

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Extracts device ids from a given JSON string.
 *
 * @param stream deviceIds JSON stream
 * @return a set of device identifiers
 * @throws IOException
 */
private Set<DeviceId> extractDeviceIds(InputStream stream) throws IOException {
    ObjectNode jsonTree = (ObjectNode) mapper().readTree(stream);
    JsonNode deviceIdsJson = jsonTree.get("deviceIds");

    if (deviceIdsJson == null || deviceIdsJson.size() == 0) {
        throw new IllegalArgumentException(DEVICE_IDS_INVALID);
    }

    Set<DeviceId> deviceIds = Sets.newHashSet();
    deviceIdsJson.forEach(did -> deviceIds.add(DeviceId.deviceId(did.asText())));

    return deviceIds;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:21,代码来源:RegionsWebResource.java

示例12: deleteFlows

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Removes a batch of flow rules.
 *
 * @param stream stream for posted JSON
 * @return 204 NO CONTENT
 */
@DELETE
public Response deleteFlows(InputStream stream) {
    ListMultimap<DeviceId, Long> deviceMap = ArrayListMultimap.create();
    List<FlowEntry> rulesToRemove = new ArrayList<>();

    try {
        ObjectNode jsonTree = (ObjectNode) mapper().readTree(stream);

        JsonNode jsonFlows = jsonTree.get("flows");

        jsonFlows.forEach(node -> {
            DeviceId deviceId =
                    DeviceId.deviceId(
                            nullIsNotFound(node.get(DEVICE_ID),
                                    DEVICE_NOT_FOUND).asText());
            long flowId = nullIsNotFound(node.get(FLOW_ID),
                    FLOW_NOT_FOUND).asLong();
            deviceMap.put(deviceId, flowId);

        });
    } catch (IOException ex) {
        throw new IllegalArgumentException(ex);
    }

    deviceMap.keySet().forEach(deviceId -> {
        List<Long> flowIds = deviceMap.get(deviceId);
        Iterable<FlowEntry> entries = service.getFlowEntries(deviceId);
        flowIds.forEach(flowId -> {
            StreamSupport.stream(entries.spliterator(), false)
                    .filter(entry -> flowId == entry.id().value())
                    .forEach(rulesToRemove::add);
        });
    });

    service.removeFlowRules(rulesToRemove.toArray(new FlowEntry[0]));
    return Response.noContent().build();
}
 
开发者ID:shlee89,项目名称:athena,代码行数:44,代码来源:FlowsWebResource.java

示例13: processes

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Returns list of OSPF process from the json nodes.
 *
 * @param jsonNodes represents one or more OSPF process configuration
 * @return list of OSPF processes.
 */
public static List<OspfProcess> processes(JsonNode jsonNodes) {
    List<OspfProcess> ospfProcesses = new ArrayList<>();
    if (jsonNodes == null) {
        return ospfProcesses;
    }
    //From each Process nodes, get area and related interface details.
    jsonNodes.forEach(jsonNode -> {
        List<OspfArea> areas = new ArrayList<>();
        //Get configured areas for the process.
        for (JsonNode areaNode : jsonNode.path(AREAS)) {
            List<OspfInterface> interfaceList = new ArrayList<>();
            for (JsonNode interfaceNode : areaNode.path(INTERFACE)) {
                OspfInterface ospfInterface = interfaceDetails(interfaceNode);
                if (ospfInterface != null) {
                    interfaceList.add(ospfInterface);
                }
            }
            //Get the area details
            OspfArea area = areaDetails(areaNode);
            if (area != null) {
                area.setOspfInterfaceList(interfaceList);
                areas.add(area);
            }
        }
        OspfProcess process = new OspfProcessImpl();
        process.setProcessId(jsonNode.path(PROCESSID).asText());
        process.setAreas(areas);
        ospfProcesses.add(process);
    });

    return ospfProcesses;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:39,代码来源:OspfConfigUtil.java

示例14: getIps

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
private List<InterfaceIpAddress> getIps(JsonNode node) {
    List<InterfaceIpAddress> ips = Lists.newArrayList();

    JsonNode ipsNode = node.get(IPS);
    if (ipsNode != null) {
        ipsNode.forEach(jsonNode ->
                ips.add(InterfaceIpAddress.valueOf(jsonNode.asText())));
    }

    return ips;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:12,代码来源:InterfaceConfig.java

示例15: bgpSpeakers

import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
 * Gets the set of configured BGP speakers.
 *
 * @return BGP speakers
 */
public Set<BgpSpeakerConfig> bgpSpeakers() {
    Set<BgpSpeakerConfig> speakers = Sets.newHashSet();

    JsonNode speakersNode = object.get(SPEAKERS);

    if (speakersNode == null) {
        return speakers;
    }

    speakersNode.forEach(jsonNode -> {
        Set<IpAddress> listenAddresses = Sets.newHashSet();
        jsonNode.path(PEERS).forEach(addressNode ->
                        listenAddresses.add(IpAddress.valueOf(addressNode.asText()))
        );

        Optional<String> name;
        if (jsonNode.get(NAME) == null) {
            name = Optional.empty();
        } else {
            name = Optional.of(jsonNode.get(NAME).asText());
        }

        VlanId vlan = getVlan(jsonNode);

        speakers.add(new BgpSpeakerConfig(name,
                vlan,
                ConnectPoint.deviceConnectPoint(jsonNode.path(CONNECT_POINT).asText()),
                listenAddresses));
    });

    return speakers;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:38,代码来源:BgpConfig.java


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