向json解析函数中添加变量,以便传递给Python中的其他函数

2024-09-27 09:37:37 发布

您现在位置:Python中文网/ 问答频道 /正文

希望解析一些json并将从一些json值创建的变量移到另一个函数。似乎无法让两者一起工作

def payload(nid):
    from urllib.request import urlopen
    with urlopen("www.site1.com/" + nid + ".json") as rr:
        result = json.loads(rr.read().decode(rr.headers.get_content_charset("utf-8")))
    title = (result["title"])
    body = (result["body"]["und"])

我尝试使用从上面的“title”和“body”创建的变量来创建一个新的json负载,并将其发布到另一个网站

def add(nid,title,body):
    url = "www.site2.com/stuff.json"
    headers = {"content-type": "application/json"}
    payload = {
        "auth_token": auth_token,
        "document":
            {
                "external_id": nid,
                "fields": [
                    {"name": "title", "value": title, "type": "string"},
                    {"name": "path", "value": "https://" + env + ".website" + language + "/node/" + nid,
                     "type": "enum"},
                    {"name": "nid", "value": nid, "type": "integer"},
                    {"name": "body", "value": body, "type": "text"},
                ]}
    }

    r = requests.post(url, data=json.dumps(payload), headers=headers)
    print("{} was added".format(nid))

我不确定如何将nid、标题和正文从一个功能移动到下一个功能

提前道歉,python的第3天。非常感谢您的帮助


Tags: namecomjsontitlevaluedefwwwtype

热门问题