我是Groovy的新手,我正在使用以下代码解析JSON文件:
void getItemData()
{
def jsonSlurper = new JsonSlurper()
def reader = new BufferedReader(new InputStreamReader(new FileInputStream("data.json"),"UTF-8"));
data = jsonSlurper.parse(reader);
data.TESTS.each{println it.MEMBER_ID}
}
Run Code Online (Sandbox Code Playgroud)
我正在正确打印MEMBER_ID的值.
我想参数化上面的函数,如:
void getItemData(String item)
{
...
}
Run Code Online (Sandbox Code Playgroud)
这样我就可以用我想要的项目来调用这个函数.例如:我想要MEMBER_ADDRESS.我想调用这个函数:
getItemData("MEMBER_ADDRESS")
Run Code Online (Sandbox Code Playgroud)
现在我该如何改变声明:
data.TESTS.each{println it.MEMBER_ID}
Run Code Online (Sandbox Code Playgroud)
我试过了
it.${item}
Run Code Online (Sandbox Code Playgroud)
和其他一些不起作用的方式.
请教我如何做到这一点.
我的JSON文件如下所示:
{
"TESTS":
[
{
"MEMBER_ID": "my name",
"MEMBER_ADDRESS": "foobarbaz",
}
]
}
Run Code Online (Sandbox Code Playgroud) 我正在创建一个模板来创建一个带有apigatewayv2.
我在模板中的 API 定义是:
sfHttpApi:
Type: AWS::ApiGatewayV2::Api
DependsOn: sfLambdaFunction
Properties:
Name: !Sub sfHttpAPI-${Region}-${Env}
ProtocolType: HTTP
Target: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:${sfLambdaFunction}/invocations
CredentialsArn: !GetAtt sfApiGatewayRole.Arn
sfApiTriggerLambdaPermission:
Type: "AWS::Lambda::Permission"
Properties:
Action: lambda:InvokeFunction
FunctionName: !GetAtt sfLambdaFunction.Arn
Principal: apigateway.amazonaws.com
SourceArn: !Sub 'arn:${AWS::Partition}:execute-api:${AWS::Region}:${AWS::AccountId}:${sfHttpApi}/'
sfApiLambdProxyIntegration:
Type: "AWS::ApiGatewayV2::Integration"
Properties:
Description: Lambda Integration
ConnectionType: INTERNET
IntegrationMethod: POST
IntegrationUri: !Sub "arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${sfLambdaFunction.Arn}/invocations"
PayloadFormatVersion: '1.0'
ApiId: !Ref sfHttpApi
IntegrationType: AWS_PROXY
sfRoute:
Type: 'AWS::ApiGatewayV2::Route'
DependsOn:
- sfApiLambdProxyIntegration
Properties:
ApiId: !Ref sfHttpApi
RouteKey: 'POST/' **??? This is the part I dont know how to …Run Code Online (Sandbox Code Playgroud) 我在 Amazon Linux 2 EC2 实例上安装了一个 WordPress 应用程序。当前安装的 PHP 版本是 7.4。我想更新这个版本到8.0
我在 EC2 终端中执行以下命令来升级 PHP:
$ amazon-linux-extras | grep php
42 php7.4=latest enabled [ =stable ]
_ php8.0 available [ =stable ]
Run Code Online (Sandbox Code Playgroud)
$ amazon-linux-extras disable php7.4
....
....
42 php7.4 available [ =stable ]
.....
50 selinux-ng available [ =stable ]
51 php8.0 available [ =stable ]
.....
61 dnsmasq2.85 available [ =stable ]
* Extra topic has reached end of support.
Run Code Online (Sandbox Code Playgroud)
$ amazon-linux-extras | grep php
42 php7.4 available …Run Code Online (Sandbox Code Playgroud) 我只是为Selenium WebDriver(又名Selenium 2)为无头测试创建了一个简单的maven项目.我在pom.xml中添加了PhantomJS驱动程序依赖项和其他依赖项:
<dependency>
<groupId>com.github.detro</groupId>
<artifactId>phantomjsdriver</artifactId>
<version>1.2.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
但它得到了错误:
java.lang.NoClassDefFoundError: org/openqa/selenium/io/CircularOutputStream
at org.openqa.selenium.firefox.FirefoxBinary.<init>(FirefoxBinary.java:60)
at org.openqa.selenium.firefox.FirefoxBinary.<init>(FirefoxBinary.java:56)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:120)
at jp.co.skygate.home.HomePageLogin.setUp(HomePageLogin.java:108)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
Run Code Online (Sandbox Code Playgroud)
只是从pom.xml中删除PhantomJS依赖项解决了问题并且执行正常.有人可以帮我找到问题吗?
提前致谢.
在 Java 8 中,我发现的是
TemporalAdjuster temporal = dayOfWeekInMonth(1,DayOfWeek.MONDAY)
Run Code Online (Sandbox Code Playgroud)
给出一个月的第一个星期一的时间,和
next(DayOfWeek.MONDAY)
Run Code Online (Sandbox Code Playgroud)
给出特定日期之后的下一个星期一。
但我想在特定日期之后找到第 n 个 MONDAY。
例如,我想要 2017-06-06 之后的第二个星期一,它应该是 2017-06-19,其中
dayOfWeekInMonth(2,DayOfWeek.MONDAY)
会给我 2017-06-12 和
next(DayOfWeek.MONDAY)
Run Code Online (Sandbox Code Playgroud)
对于第 n 个 DayOfWeek 指标,当然没有参数。它将给出下一个星期一,即 2017-06-12。
我如何在不循环的情况下计算它?