1

我知道这里和网上有很多 json 教程和问答,我已经阅读过;但我仍在努力让我的 python 脚本正常工作。

我正在从客户端调用 python 服务器程序来读取示例列表。我的错误是:

<type 'exceptions.ValueError'>: No JSON object could be decoded
 args = ('No JSON object could be decoded',)
 message = 'No JSON object could be decoded'

在服务器的某个地方,我得到了错误的代码,它没有获取列表并将其作为 json 字符串发送。

我在 Mongoose 网络服务器上运行一切。

服务器(psptest5.py):

#!C:\Mongoose\Python26\python.exe

import cgi
import cgitb
cgitb.enable()
import pyodbc
import json
import urllib2
import requests

url = "http://localhost:8080/"
value= {'customer' : 'Varun Inc','email' : 'varun.verma@varun.com'}

headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
r = requests.post(url, data=json.dumps(value), headers=headers)

客户端(jsonreadtest.py):

#!C:\Mongoose\Python26\python.exe

import cgi
import cgitb
cgitb.enable()
import json
import urllib2
from pprint import pprint
import csv, sys

url = 'http://localhost:8080/psptest5.py'
data = json.load(urllib2.urlopen(url))
print data

任何帮助表示赞赏

4

2 回答 2

0

您的服务器代码不呈现任何内容。尝试以下代码(服务器):

#!C:\Mongoose\Python26\python.exe

import json

print 'Content-Type: application/json'
print
print json.dumps({'customer': 'Varun Inc','email': 'varun.verma@varun.com'})
于 2013-06-22T10:33:08.620 回答
0

您的服务器似乎实际上并没有返回任何内容,因此当您的客户端运行时data = json.load(urllib2.urlopen(url)),它会尝试从空字符串加载 JSON。

于 2013-06-22T09:22:14.287 回答