Java android项目中url的json解析
在android项目中,如何从json中获取文本,而不使用[“”]文本 这是我的json,来自url{“code”:200,“lang”:“en-ru”,“text”:[“迟做总比不做好”]} 我需要获取文本“text”:[“迟到总比不到好”]没有[“”]只有文本:迟到总比不到好 myclass主活动Java android项目中url的json解析,java,android,Java,Android,在android项目中,如何从json中获取文本,而不使用[“”]文本 这是我的json,来自url{“code”:200,“lang”:“en-ru”,“text”:[“迟做总比不做好”]} 我需要获取文本“text”:[“迟到总比不到好”]没有[“”]只有文本:迟到总比不到好 myclass主活动 public class MainActivity extends Activity { JSONParser jsonparser = new JSONParser(); Tex
public class MainActivity extends Activity {
JSONParser jsonparser = new JSONParser();
TextView tv;
String ab;
JSONObject jobj = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tvResult);
new retrievedata().execute();
}
class retrievedata extends AsyncTask<String,String,String>{
@Override
protected String doInBackground(String... arg0) {
// TODO Auto-generated method stub
jobj = jsonparser.makeHttpRequest("https://translate.yandex.net/api/v1.5/tr.json/translate?key=YOURAPIKEY&text=Better%20late%20than%20never&lang=ru");
// check your log for json response
Log.d("Login attempt", jobj.toString());
ab = jobj.optString("text");
return ab;
}
protected void onPostExecute(String ab){
tv.setText(ab);
}
}
}
从您的json url{“code”:200,“lang”:“en-ru”,“text”:[“迟做总比不做好”]}
试试这个
Yout-JSON结构
{
"code": 200,
"lang": "en-ru",
"text": [
"Better late than never"
]
}
您可以使用以下命令获取输出
try {
JSONObject jsonObj = new JSONObject(json);
String code = jsonObj.getString("code");
String lang = jsonObj.getString("lang");
JSONArray text = jsonObj.getJSONArray("text");
Log.e("output", "code:" + code + "\nlang:" + lang + "\ntext"
+ text.getString(0));
} catch (Exception e) {
e.printStackTrace();
}
替换
ab = jobj.optString("text");
与
您试图从JSON数组中获取JSON字符串时可能存在重复。org.json的javadoc应该为您提供如何执行此操作的提示。
ab = jobj.optString("text");
JSONArray txt = jobj.getJSONArray("text");
ab=txt.getString(0);