小编bal*_*las的帖子

处理1到n个元素

我正在使用xmltodict来解析XML配置.XML具有一个结构,其中元素可以在1到n个实例中出现,其中两个都是有效的:

<items>
    <item-ref>abc</item-ref>
</items>
Run Code Online (Sandbox Code Playgroud)

<items>
    <item-ref>abc</item-ref>
    <item-ref>dca</item-ref>
    <item-ref>abb</item-ref>
</items>
Run Code Online (Sandbox Code Playgroud)

我用xmltodict解析这个如下:

document['items']['item-ref']
Run Code Online (Sandbox Code Playgroud)

并且它返回单个unicode或列表(取决于找到的项目),所以我总是需要添加额外的检查以确保我是否需要处理列表或字符串:

if isinstance(document['items']['item-ref'], list):
    my_var = document['items']['item-ref']
else:
    my_var = [document['items']['item-ref']] #create list manually
Run Code Online (Sandbox Code Playgroud)

是否有更好/更简单/更优雅的方式来处理这些?

python xml xmltodict

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

获取同一对象的不同JSON表示

给定一个与Jackson一起序列化为JSON字符串的java对象.是否可以控制序列化过程从同一对象生成不同的JSON输出?

压缩:

{
  "a":"123",
  "s":"100"
}
Run Code Online (Sandbox Code Playgroud)

或正常:

{
  "altitude":"123",
  "speed":"100"
}
Run Code Online (Sandbox Code Playgroud)

编辑:我想要实现的目标是拥有一个长JSON格式,这对于调试(人类可读)很好,并且具有提供最小占用空间的压缩格式.

java json jackson

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

AWS Lambda Dynamo 更新不会更新项目

有一个名为 Portal 的 DynamoDB 表。从节点中编写的 Lambda 函数中,我想更新项目的status和字段(通过调用signalJobStart函数),并等待异步更新函数在继续之前以 Promise 完成。由于某种原因没有发生更新,但是在操作过程中没有出现错误。日志中没有错误,我可以在日志中看到“FINISHED”日志消息。ts

为什么表中的项目没有发生变化?为什么我在日志中既看不到错误消息也看不到成功消息?

(我也在没有承诺的情况下进行了尝试,得到了相同的结果。表项没有更新 - 即使是异步更新。)

以下是 Lambda 的代码:

const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region: 'eu-west-1'});

module.exports = {
signalJobStart: function(accountId, jobId) {
    console.log("Signaling job start for account %s and job %s", accountId, jobId);

    let table = "Portal";

    let params = {
        TableName: table,
        Key:{
            "accountid": accountId,
            "entity": jobId
        },
        UpdateExpression: "SET status = :s, ts = :t",
        ExpressionAttributeValues:{
            ":s": "running",
            ":t": Date.now()
        },
        ReturnValues:"UPDATED_NEW" …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js amazon-dynamodb aws-lambda

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