Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过json.parse()在python中解析字符串形式json.dumps()后未定义的键_Javascript_Jquery_Python_Ajax_Json - Fatal编程技术网

Javascript 通过json.parse()在python中解析字符串形式json.dumps()后未定义的键

Javascript 通过json.parse()在python中解析字符串形式json.dumps()后未定义的键,javascript,jquery,python,ajax,json,Javascript,Jquery,Python,Ajax,Json,我有一个通过json.dumps()从python返回的字符串。我使用的是python 2.6或2.7。当我在JavaScript中使用JSON.parse()解析它时。我用钥匙得到了未定义的 javascript(ajax)接收到的字符串如下所示: {'country': u'\u4e0a', 'Search': {'city_num': 25, 'index': ''}, 'Locc': ['116.116', '29.29'], 'cid': '285'} 当我使用: objstr =

我有一个通过
json.dumps()
从python返回的字符串。我使用的是python 2.6或2.7。当我在JavaScript中使用JSON.parse()解析它时。我用钥匙得到了
未定义的

javascript(ajax)接收到的字符串如下所示:

{'country': u'\u4e0a', 'Search': {'city_num': 25, 'index': ''}, 'Locc': ['116.116', '29.29'], 'cid': '285'}
当我使用:

objstr = JSON.parse(jsonstr);
alert(objstr.country);
我在弹出的警报窗口中未定义。
objstr[0]。国家
objstr[0]['country']
get
未定义

我该怎么办?我读过几篇关于stackoverflow和google的文章,但我仍然不知道如何解决这个问题。谁能给我一些建议?谢谢

编辑

接收ajax请求的我的代码:

  def POST(self):
        resultline = {}
        file = open("..\\cache\\res.cache", 'r')
        last_pos = self.get_pos()
        print last_pos
        pos = int(last_pos)
        file.seek(pos)
        line = file.readline()  
        print line
        if ''== line:
            file.seek(0, 0)
            line = file.readline()
        last_pos = file.tell()
        self.store_pos(last_pos)
        resultline = line
        file.close()
        if '' != resultline:
            resultlinetmp = resultline[0:len(resultline)-1]
        return json.dumps(resultlinetmp)

u'\u4e0a'
是问题的原因,在单个引号外有一个
u
是否确实使用了
json.dumps()
?这看起来像字典的
repr
。它由“return str(json.dumps(resultline))”返回@TimWell如何转换unicode字符串
objstr.cid
got
undefined
@rps
'country':u'\u4e0a'
是问题的根源,json值不应该有任何超出
的内容,但是默认情况下python字符串用作unicode,因此您不应该使用
json.dumps()
,最好使用自定义编码器来输出普通字符串,而不是unicode字符串。