我正在尝试将字符串加载到python对象中。我得到以下错误: 这是错误的:预期值:第15行第15列(字符351) {'allData':无}
当我将cprob的值更改为以下代码时,没有问题:
"cprob": {
"T": 1,
"A": 2,
"C": 3
}
test.txt中的数据:
[{
"V": ["Offer", "Interview", "Grades", "Admission", "Experience"],
"E": [["Grades", "Interview"],
["Experience", "Interview"],
["Grades", "Admission"],
["Interview", "Offer"]],
"Vdata": {
"Offer": {
"ord": 4,
"numoutcomes": 2,
"vals": ["0", "1"],
"parents": ["Interview"],
"children": 0,
"cprob": {
"['0']": [.9, .1],
"['1']": [.4, .6],
"['2']": [.01, .99]
}
}
}
}]
代码:
import json
class JsonData:
def __init__(self, path):
self.allData = None
def dictload(self, path):
f = open(path, 'r')
ftext = f.read()
print(ftext)
try:
self.allData = json.loads(ftext)
except Exception as e:
print('This is error : ', e)
path = "test.txt"
jsonData = JsonData(path)
jsonData.dictload(path)
print(vars(jsonData))
答案 0 :(得分:4)
似乎python的json模块无法将public static string ReverseString(string s)
{
var toReturn = new StringBuilder();
for (var i = s.Length - 1; i >= 0; i--)
{
toReturn.Append(s[i]);
}
return toReturn.ToString();
}
理解为.1
。如果将0.1
添加到句点之前,它将起作用。
答案 1 :(得分:0)
很明显,solarc是正确的,但是我没有足够的代表对此发表评论,所以我在这里只添加了一点。
如果您在读取json文件(或json的纯文本文件)时遇到问题,请尝试通过json验证程序(即https://jsonlint.com/)放入数据或示例数据。这样可以节省您调试的时间。