Python发布/订阅脚本上的JSONDecodeError
这是我的全部代码。此脚本由云函数中的发布/订阅触发,并按键和值从发布/订阅解析消息。对于测试,我有一个示例字符串作为代码中的消息Python发布/订阅脚本上的JSONDecodeError,python,json,google-cloud-platform,runtime-error,google-cloud-pubsub,Python,Json,Google Cloud Platform,Runtime Error,Google Cloud Pubsub,这是我的全部代码。此脚本由云函数中的发布/订阅触发,并按键和值从发布/订阅解析消息。对于测试,我有一个示例字符串作为代码中的消息 import base64 import os import json #import subprocess #import shlex def hello_pubsub(event, context): """Triggered from a message on a Cloud Pub/Sub topic. Args:
import base64
import os
import json
#import subprocess
#import shlex
def hello_pubsub(event, context):
"""Triggered from a message on a Cloud Pub/Sub topic.
Args:
event (dict): Event payload.
context (google.cloud.functions.Context): Metadata for the event.
"""
pubsub_message ='{"name": instance1, "zone": us-west1-c, "project": projectname}'
pubsub_json = json.loads(pubsub_message)
for key,value in pubsub_json.items():
print (key,value)
hello_pubsub('event', 'context')
然而,当我运行这个时,我得到了这个错误
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 10 (char 9)
在VSCode中使用调试器,错误将由json.loads行触发
我尝试过使用不同版本的json.loads,但我不确定为什么会出现这个错误,当我使用json.dumps时,会出现一个sting/integers错误。有什么想法吗?这确实是无效的JSON。需要引用字符串:
pubsub_message ='{"name": "instance1", "zone": "us-west1-c", "project": "projectname"}'
我真的不明白这是要测试什么 这确实是无效的JSON。需要引用字符串:
pubsub_message ='{"name": "instance1", "zone": "us-west1-c", "project": "projectname"}'
我真的不明白这是要测试什么 您的JSON没有正确引用。您的JSON没有正确引用。我需要将name、zone和project解析为3个单独的变量,所以这是一个测试,看看它是否可以被解析。这个答案也有效。非常感谢。抱歉,如果这是一个愚蠢的问题,因为我是新手,我需要将名称、区域和项目解析为3个独立的变量,所以这是一个测试,看看它是否可以被解析。这个答案也有效。非常感谢。对不起,如果这是一个愚蠢的问题,因为我是新来的