有一个字符串:
@Override
protected Fragment createFragment() {
return GameFragment.newInstance();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.fragment_game, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.quit:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(false);
builder.setMessage("Are you sure you want to quit this game?");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
builder.setNegativeButton("No",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
return true;
case R.id.music_switch:
MediaPlayer mp = MediaPlayer.create(this, R.raw.music);
if (mp.isPlaying())
mp.stop();
else
mp.start();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
我尝试用它来制作字典:
mystring = "{"1" : "a", "2" : "b", "3" : "c", "4" : "d"}"
它正在制作一本字典,但它只能从两个第一对键和值开始,所以它看起来像:
mydict = json.loads(mystring)
我也试过了:
{'1':'a', '2':'b'}
但是存在同样的问题。我不知道问题出在哪里。
答案 0 :(得分:0)
在字符串周围使用单引号:
>>> import json
>>> mystring = '{"1" : "a", "2" : "b", "3" : "c", "4" : "d"}'
>>> mydict = json.loads(mystring)
>>> mydict
{'1': 'a', '2': 'b', '3': 'c', '4': 'd'}
答案 1 :(得分:0)
您的问题可能是您在大括号之前和之后使用双引号。你必须知道这是一个错误。