这是我的名为team.json的文本文件 我的问题是我只知道如何返回特定的行, 例如,我选择一个过滤器位置,如PQ我将如何返回具有PQ位置的名称。提前谢谢。
import json
my_data = json.loads(open("team.json.txt").read())
print my_data
for line in open('team.json.txt'):
if "John" in line:
print line
这是我的代码但只返回行
try {
PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String sign = Base64.encodeToString(md.digest(), Base64.DEFAULT);
Log.e("MY KEY HASH:", sign);
//textInstructionsOrLink = (TextView)findViewById(R.id.textstring);
//textInstructionsOrLink.setText(sign);
Toast.makeText(getApplicationContext(), sign, Toast.LENGTH_LONG).show();
}
} catch (PackageManager.NameNotFoundException e) {
Log.d("nope", "nope");
} catch (NoSuchAlgorithmException e) {
}
答案 0 :(得分:1)
解析完json数据后,可以使用它来提取PQ位置的成员:
member_in_pq = [member for member in my_data['members'] \
if member['location'] == 'PQ']
print(member_in_pq)
# -> [{'age': 24, 'location': 'PQ', 'name': 'Jesse'}, ...]
或者,如果您只想要名称:
member_in_pq = [member['name'] for member in my_data['members'] \
if member['location'] == 'PQ']
print(member_in_pq)
# -> ['Jesse', 'Jez',..., 'Cherry']
我建议您使用已解析的数据版本,而不是返回并手动解析文件。