json.decoder.JSONDecodeError:期望属性名称用双引号引起来:第1行第2列(字符1) [英] json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

查看:207
本文介绍了json.decoder.JSONDecodeError:期望属性名称用双引号引起来:第1行第2列(字符1)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

查看了先前的答案,但无法解决,json.loads无法正常工作.

looked at previous answers but cant solve it, the json.loads wont work.

代码:

import json
import operator

Data_to_python ={}

Bank_Data_note= open('Data_for_python.txt','r') # open file
Bank_Data_str = Bank_Data_note.read()
print(Bank_Data_str)
Data_to_python =json.loads(Bank_Data_str) # dictinary
print(Data_to_python)

文本文件中的json格式:

{{"Transaction_1":{"Name":"Magnolia","Location":"Ayilon male","Amount":289,"Date":"5/5/18"},
{"Transaction_2":{"Name":"Landver,"Location":"Cinima-city Ramat-hashron","Amount":15,"Date":"15/5/18"},
{"Transaction_3":{"Name":"Superfarm","Location":"Shivat-hacochvim male","Amount":199,"Date":"7/5/18"},
{"Transaction_4":{"Name":"Printing solutions","Location":"Afeka tel-aviv","Amount":16,"Date":"25/5/18"}}

我知道了:

obj,end = self.scan_once(s,idx)json.decoder.JSONDecodeError: 期望的属性名称用双引号引起来:第1行第2列 (字符1)

obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

推荐答案

您的JSON数据中的括号过多!而且它缺少双引号.这是经过修复的版本,以及一些json加载和转储代码以对其进行测试.

You had too many braces in your JSON data! And it was missing a double-quote. Here's a repaired version, along with some json loading and dumping code to test it.

import json

data = '''
{
"Transaction_1": {"Name":"Magnolia","Location":"Ayilon male","Amount":289,"Date":"5/5/18"},
"Transaction_2": {"Name":"Landver","Location":"Cinima-city Ramat-hashron","Amount":15,"Date":"15/5/18"},
"Transaction_3": {"Name":"Superfarm","Location":"Shivat-hacochvim male","Amount":199,"Date":"7/5/18"},
"Transaction_4": {"Name":"Printing solutions","Location":"Afeka tel-aviv","Amount":16,"Date":"25/5/18"}
}'''


obj = json.loads(data)
print(obj)

print('- ' * 20)

# Convert back to JSON for nicer printing
print(json.dumps(obj, indent=4))

输出

{'Transaction_1': {'Name': 'Magnolia', 'Location': 'Ayilon male', 'Amount': 289, 'Date': '5/5/18'}, 'Transaction_2': {'Name': 'Landver', 'Location': 'Cinima-city Ramat-hashron', 'Amount': 15, 'Date': '15/5/18'}, 'Transaction_3': {'Name': 'Superfarm', 'Location': 'Shivat-hacochvim male', 'Amount': 199, 'Date': '7/5/18'}, 'Transaction_4': {'Name': 'Printing solutions', 'Location': 'Afeka tel-aviv', 'Amount': 16, 'Date': '25/5/18'}}
- - - - - - - - - - - - - - - - - - - - 
{
    "Transaction_1": {
        "Name": "Magnolia",
        "Location": "Ayilon male",
        "Amount": 289,
        "Date": "5/5/18"
    },
    "Transaction_2": {
        "Name": "Landver",
        "Location": "Cinima-city Ramat-hashron",
        "Amount": 15,
        "Date": "15/5/18"
    },
    "Transaction_3": {
        "Name": "Superfarm",
        "Location": "Shivat-hacochvim male",
        "Amount": 199,
        "Date": "7/5/18"
    },
    "Transaction_4": {
        "Name": "Printing solutions",
        "Location": "Afeka tel-aviv",
        "Amount": 16,
        "Date": "25/5/18"
    }
}

这篇关于json.decoder.JSONDecodeError:期望属性名称用双引号引起来:第1行第2列(字符1)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆