Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android项目中url的json解析_Java_Android - Fatal编程技术网

Java android项目中url的json解析

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

在android项目中,如何从json中获取文本,而不使用[“”]文本

这是我的json,来自url{“code”:200,“lang”:“en-ru”,“text”:[“迟做总比不做好”]}

我需要获取文本“text”:[“迟到总比不到好”]没有[“”]只有文本:迟到总比不到好

myclass主活动

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);