Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中使用parallelStream提取值_Java_Json_Parallel Processing_Java Stream - Fatal编程技术网

在Java中使用parallelStream提取值

在Java中使用parallelStream提取值,java,json,parallel-processing,java-stream,Java,Json,Parallel Processing,Java Stream,我有一个json数组: "LiveSessionDataCollection": [ { "CreateDate": "2017-12-27T13:29:06.595Z", "Data": "Khttp://www8.hp.com/us/en/large-format-printers/designjet-printers/products.html&AbSGOX+SGOXpLXpBF8CXpGOA9BFFPconsole.info('Deployment

我有一个json数组:

"LiveSessionDataCollection": [
    {
      "CreateDate": "2017-12-27T13:29:06.595Z",
      "Data": "Khttp://www8.hp.com/us/en/large-format-printers/designjet-printers/products.html&AbSGOX+SGOXpLXpBF8CXpGOA9BFFPconsole.info('DeploymentConfigName%3DRelease_20171227%26Version%3D1')%3B&HoConfig: Release_20171227&AwDz//////8NuaCh63&Win32&SNgYAJBBYWCYKW9a&2&SGOX+SGOXpF/1en-us&AAAAAAAAAAAAQICBCXpGOAAMBBBB8jl",
      "DataFlags": 8,
      "DataFlagType": 264,
      "LegacyLiveSessionDataType": null,
      "LiveSessionId": 1545190526042650,
      "MessageNumber": 0,
      "StreamId": 0,
      "StreamMessageId": 0,
      "ProjectId": 201
    },
    {
      "CreateDate": "2017-12-27T13:29:08.887Z",
      "Data": "oDB Information Level : Detailed&9BbRoDB Annual Sales : 55000000&BoDB Audience : Mid-Market Business&AoDB%20Audience%20Segment%20%3A%20Retail%20%26%20Distribution&AoDB B2C : true&AoDB Company Name : Clicktale Inc&AoDB SID : 120325490&AoDB Employee Count : 275&AoDB Employee Range : Mid-Market&AoDB%20Industry%20%3A%20Retail%20%26%20Distribution&AoDB Revenue Range : $50M - $100M&AoDB Sub Industry : Electronics&AoDB Traffic : High&AWB9tY/8bvOBBP_({\"a\":[{\"a\":{\"s\":\"w:auto;l:auto;\"},\"n\":\"div53\"}]})&sP_({\"a\":[{\"a\":{\"s\":\"w:auto;l:auto;\"},\"n\":\"div62\"}]})&FP_({\"r\":[\"script2\"],\"m\":[{\"n\":{\"nt\":1,\"tn\":\"SCRIPT\",\"a\":{\"async\":\"\",\"src\":\"http://admin.brightcove.com/js/api/SmartPlayerAPI.js?_=1514381348598\"},\"i\":\"script55\"},\"t\":false,\"pn\":\"head1\"}]})&8GuP_({\"a\":[{\"a\":{\"s\":\"t:0px;mt:0px;l:274.5px;ml:0px;\"},\"n\":\"div442\"}]})&SP_({\"a\":[{\"a\":{\"s\":\"t:0px;mt:0px;l:274.5px;ml:0px;\"},\"n\":\"div444\"}]})&D",
      "DataFlags": 8,
      "DataFlagType": 264,
      "LegacyLiveSessionDataType": null,
      "LiveSessionId": 1545190526042650,
      "MessageNumber": 1,
      "StreamId": 0,
      "StreamMessageId": 1,
      "ProjectId": 201
    },
    {
      "CreateDate": "2017-12-27T13:29:08.971Z",
      "Data": "P_({\"a\":[{\"a\":{\"s\":\"mih:480px;\"},\"n\":\"div105\"},{\"a\":{\"s\":\"mih:480px;\"},\"n\":\"div114\"},{\"a\":{\"s\":\"mih:480px;\"},\"n\":\"div123\"}]})&9B+8P_({\"a\":[{\"a\":{\"s\":\"mih:480px;\"},\"n\":\"div167\"},{\"a\":{\"s\":\"mih:480px;\"},\"n\":\"div169\"},{\"a\":{\"s\":\"mih:480px;\"},\"n\":\"div178\"}]})&JP_({\"a\":[{\"a\":{\"s\":\"mih:457px;\"},\"n\":\"div220\"},{\"a\":{\"s\":\"mih:457px;\"},\"n\":\"div229\"},{\"a\":{\"s\":\"mih:457px;\"},\"n\":\"div238\"}]})&FP_({\"a\":[{\"a\":{\"s\":\"mih:480px;\"},\"n\":\"div282\"},{\"a\":{\"s\":\"mih:480px;\"},\"n\":\"div291\"},{\"a\":{\"s\":\"mih:480px;\"},\"n\":\"div300\"}]})&HP_({\"a\":[{\"a\":{\"s\":\"t:0px;mt:-92px;l:274.5px;ml:0px;\"},\"n\":\"div442\"}]})&HP_({\"a\":[{\"a\":{\"s\":\"t:0px;mt:-92px;l:274.5px;ml:0px;\"},\"n\":\"div444\"}]})&B",
      "DataFlags": 8,
      "DataFlagType": 264,
      "LegacyLiveSessionDataType": null,
      "LiveSessionId": 1545190526042650,
      "MessageNumber": 2,
      "StreamId": 0,
      "StreamMessageId": 2,
      "ProjectId": 201
    }]
我正在尝试使用parallelStream和forEach获取所有DataFlagType值

这是我编写的代码,但我遇到了错误:

jsonArray = (JSONArray) json.get("LiveSessionDataCollection");
jsonArray.parallelStream().forEach(
    x -> ((JSONObject) dataFlagType = (JSONObject) jsonArray.get(1)));

我不知道如何使用parallelStream。如何从json数组中获取所有DataFlayType值作为int?

首先需要获取所有对象的DataFlagType属性的流,然后将其收集到列表中:

jsonArray.parallelStream.mapx-> JSONObjectx.getDataFlagType.collectCollectors.toList

输出:


[264]

您的forEach中的“x”是JsonArray中的JsonObject。为什么要尝试访问。进入JsonArray?很抱歉,我没有理解您的问题。forint I=0;太棒了!谢谢现在,我想了解如何处理并行流,如果我想检查输出是否如预期的那样,并继续操作结果,例如,如果输出为265,我想执行一个操作。