所以,我尝试使用 python 搜索 json 文件,但完全陷入困境。我可能会因此而陷入困境,但我无处可去。我是一个Python新手,一直无法通过搜索找到我需要的信息....
这是我正在尝试做的事情: 我有一个常量,称为 A1,与 X1 长度相同,但值不同。我希望将我的常量除以每个后续的 X1(位于 json 文件中)。当余数(模)大于 2 时,我希望打印 X1 值。基本上我试图找到我的常量和每个 X1 的 GCD,但 gcd 通常仅为 1。我只希望在模大于 1 时打印。
这是我的 json 文件:
{
“536723876acbdacbd3344”: {
“X1”: "0x2345678abcdef1”,
“X2”: "0x12345678abcde"
},
“7632948974879abcdabcd”: {
“X1”: "0x1234678abcdef”,
“X2”: "0x12345678abcde"
},
“23847298347233abcdabcd”: {
“X1”: "0x1234678abcddd”,
“X2”: "0x12345678abcde"
}
}
这是我到目前为止编写的代码:
import json
data = json.load(open("test1.json"))
def translate(w):
A1 = int("0xffff123123", 16)
if w in data.values:
X1 = int("w", 16)
if A1%X1 > 2:
print("The modulo is", data.values[X1])
else:
print( "No match")
任何帮助都会很好。我很难通过搜索找到我需要的信息。谢谢!
最佳答案
import json
data=json.load(open("file.json"))
for key in data:
A1 = int("0xffff123123", 16)
obj = data.get(key)
x1 = obj.get('X1')
x1 = int(x1, 16)
if A1%x1 > 2:
# print what you need
print("Module greater than 2")
else:
print("No match")
我不知道这是否正是您所需要的,但通过这种方式,您可以在 x1
中获得每个 JSON 对象的字段 X1
的值。由您向程序添加正确的逻辑(if
语句)。
注意:您粘贴的 JSON 中包含与双引号不同的字符 ( “
)。
关于python - 使用 python 搜索 json 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52931965/