小编Tra*_*lie的帖子

相似对象图的json模式

我希望编写一个json模式来涵盖此(简化)示例

{
    "errorMessage": "",
    "nbRunningQueries": 0,
    "isError": False,
    "result": {
        "foo": {"price":10.0, "country":"UK"},
        "bar": {"price":100.2, "country":"UK"}
    }
}
Run Code Online (Sandbox Code Playgroud)

可以有这个非常琐碎的根架构

schema = {
    "type":"object",
    "required":True,
    "properties":{
        "errorMessage": {"type":"string", "required":True},
        "isError": {"type":"boolean", "required":True},
        "nbRunningQueries": {"type":"number", "required":True},
        "result": {"type":"object","required":True}
    }
}
Run Code Online (Sandbox Code Playgroud)

复杂的是结果{}元素。与标准模式不同,在标准模式中,结果将是相同对象的数组-每个对象都有一个id字段或类似的对象,此响应将模拟一个python字典,如下所示:

{
    "foo": {},
    "bar": {},
    ...
}
Run Code Online (Sandbox Code Playgroud)

因此,鉴于a将获得没有设置键的灵活大小的结果对象,我如何为此编写json模式?

我不会伤心地控制输入,否则我会将其重写为类似

{
    "errorMessage": "",
    "nbRunningQueries": 0,
    "isError": False,
    "result": [
        {"id": "foo", "price":10.0, "country": "UK"},
        {"id": "bar", "price":100.2, "country":"UK"}
    ]
}
Run Code Online (Sandbox Code Playgroud)

任何帮助或相关示例的链接都将非常有用。谢谢。

json jsonschema

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

在gatherResults完成后停止一个扭曲的反应堆

新的扭曲,只是尝试一些延期的东西.我有以下代码组成100个延迟调用的列表 - 每个等待一个随机时间并返回一个值.该列表打印结果并最终终止反应器.

但是,我很确定我停止反应堆的方式可能......不太好.

__author__ = 'Charlie'

from twisted.internet import defer, reactor
import random

def getDummyData(x):
    """returns a deferred object that will have a value in some random seconds
    sets up a callLater on the reactor to trgger the callback of d"""
    d = defer.Deferred()
    pause = random.randint(1,10)
    reactor.callLater(pause, d.callback, (x, pause))
    return d


def printData(result):
    """prints whatever is passed to it"""
    print result


def main():
    """makes a collection of deffered calls and then fires them. Stops reactor at end""" …
Run Code Online (Sandbox Code Playgroud)

python twisted deferred

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

标签 统计

deferred ×1

json ×1

jsonschema ×1

python ×1

twisted ×1