小编Rah*_*ate的帖子

杰克逊如何在不投射的情况下将JsonNode转换为ArrayNode?

我正在将我的JSON库从org.json更改为Jackson,我想迁移以下代码:

JSONObject datasets = readJSON(new URL(DATASETS));
JSONArray datasetArray =  datasets.getJSONArray("datasets");
Run Code Online (Sandbox Code Playgroud)

现在在杰克逊我有以下内容:

ObjectMapper m = new ObjectMapper();
JsonNode datasets = m.readTree(new URL(DATASETS));      
ArrayNode datasetArray = (ArrayNode)datasets.get("datasets");
Run Code Online (Sandbox Code Playgroud)

但是我不喜欢那里的演员,是否有可能ClassCastException?是否有一个等效的方法getJSONArray,org.json以便我有适当的错误处理,以防它不是一个数组?

java json jackson

101
推荐指数
3
解决办法
17万
查看次数

如何在Cloudformation中获取区域AWS API网关的自定义域的目标域名?

我正在尝试在AWS上创建一个多区域无服务器应用程序.我按照这里给出的说明进行操作.我正在使用无服务器框架,它使用Cloudformation脚本在AWS上创建所有资源.

我想为API网关创建一个自定义域作为区域端点.创建区域端点时,它会生成目标域.我想知道如何在Cloudformation脚本中获取目标域的值?

当我创建Edge优化端点时,我使用该DistributionDomainName属性获取CloudFront部署的值.但是,在创建区域端点时,我没有看到目标域名的任何属性.我尝试使用DistributionDomainName区域端点的属性,但它会抛出一个错误,表示没有DistributionDomainName.

以下是我脚本的一部分 -

# Creates a custom domain for the ApiGateway
customDomain:
  Type: 'AWS::ApiGateway::DomainName'
  Properties:
    DomainName: ${self:custom.domain}
    EndpointConfiguration:
      Types:
        - REGIONAL
    RegionalCertificateArn: ${self:custom.certificateArn}

# Insert a DNS record in route53 hosted zone to redirect from the custom domain to CF distribution
dnsRecord:
  Type: AWS::Route53::RecordSet
  Properties:
    Region: ${self:provider.region}
    SetIdentifier: ${self:provider.region}
    HostedZoneId: ${self:custom.hostedZoneId}
    Name: ${self:custom.domain}
    Type: CNAME
    TTL: 60
    ResourceRecords:
      - "Fn::GetAtt": [customDomain, DistributionDomainName]
Run Code Online (Sandbox Code Playgroud)

请帮忙.谢谢!

UPDATE

Cloudformation现在通过RegionalDomainName属性返回区域域名.它可以用作Fn:GetAtt : [customDomain, …

regional amazon-web-services aws-cloudformation aws-api-gateway serverless-framework

10
推荐指数
1
解决办法
2025
查看次数

Java:从静态方法获取被调用的类名

我有两个类定义如下:

class A {
    public static String getName(){
        Class c = getCalledClass();
        return c.getSimpleName();
    }
}

class B extends A {
    //no methods are defined here!
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以组合static方法getCalledClass(),以便调用A.getName()将返回AB.getName()返回B

谢谢.

java reflection

4
推荐指数
1
解决办法
4747
查看次数

java.sql.SQLException:侦听器拒绝连接时出现以下错误:ORA-12519,TNS:找不到合适的服务处理程序

我将Resultset对象传递给每个线程.每个线程都连接到数据库并插入数据.直到线程110它工作正常.在它穿过111线程后,它抛出上述异常.

我正在使用oracle 11g.

我的示例线程代码是:

class MyThreadClass implements Runnable 

{

    public Connection connection;

    public Statement statement2;

    public ResultSet rs2;    

    public String cookie;


    public MyThreadClass(ResultSet rs1)  
    {
      rs2=rs1;
    }

    public void run() 
    {    
       try
       {                    
            cookie=rs2.getString("COOKIE");
            driver = "oracle.jdbc.driver.OracleDriver";
            url    = "jdbc:oracle:thin:@127.0.0.1:1521:xx";
            /* connection

                statement2.executeUpdate("INSERT INTO visit_header  VALUES ('"+cookie+"')");

       }
Run Code Online (Sandbox Code Playgroud)

我没有得到如何处理此异常.

java oracle jdbc

3
推荐指数
1
解决办法
4万
查看次数

如何检查输入的字符串是否包含Unicode:0x1a值

我想知道输入的字符串是否包含Unicode:0x1a值是否在java中.我无法识别→和其他特殊字符的值.

java unicode

3
推荐指数
1
解决办法
1960
查看次数

枚举真的是常量吗?枚举的数据成员不应该默认声明为final吗?

根据Oracle网站上的Java教程:

枚举类型是一种特殊的数据类型,它使变量成为一组预定义的常量.变量必须等于为其预定义的值之一.

我同意这些值是预定义的.但它们真的是常量吗?

enum值可以通过改变数据成员的值被改变.那么,它们逻辑上可以称为常量吗?

假设我有enum如下:

public enum Color
{
    BLACK("0x000000"), WHITE("0xffffff");

    Color(String rgbValue)
    {
        this.rgbValue = rgbValue;
    }

    private String rgbValue;

    public String getRgbValue()
    {
        return this.rgbValue;
    }

    public void setRgbValue(String rgbValue)
    {
        this.rgbValue = rgbValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面enum,我可以rgbValue通过使用setter 更改值.如果我执行以下语句集,则状态BLACK会发生变化.

System.out.println(Color.BLACK.getRgbValue());
Color.BLACK.setRgbValue("0x000010");
System.out.println(Color.BLACK.getRgbValue());
Run Code Online (Sandbox Code Playgroud)

上面的代码产生以下输出:

0x000000
0x000010
Run Code Online (Sandbox Code Playgroud)

那么我们真的可以将enum值称为常量吗?是否应该enum防止价值状态发生变化?不应该将数据成员enum声明为final默认值,以便enum可以真正称为常量吗?

如果enum未保存状态,那么正常classenum预定数量的对象之间的区别是什么? …

java enums

1
推荐指数
1
解决办法
859
查看次数