如何从JSON文本无[" "] [英] How to get text from JSON without [" "]

查看:189
本文介绍了如何从JSON文本无[" "]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎么没有[]纯文本的JSON文本,在Android项目?

这是我的JSON从网址{code:200,郎:EN-RU,文字:比永远不会迟到]}

我需要得到文文字:比晚好从来没有]没有[]纯文本:亡羊补牢犹未晚。

MyClass的MAINACTIVITY

 公共类MainActivity延伸活动{
    JSONParser jsonparser =新JSONParser();
    TextView的电视;
    字符串AB;
    JSONObject的jobj = NULL;
    @覆盖
    保护无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);
        电视=(的TextView)findViewById(R.id.tvResult);
        新retrievedata()执行();    }    类retrievedata扩展的AsyncTask<字符串,字符串,字符串> {        @覆盖
        保护字符串doInBackground(字符串...为arg0){
            // TODO自动生成方法存根
            jobj = jsonparser.makeHtt$p$pquest(\"https://translate.yandex.net/api/v1.5/tr.json/translate?key=YOURAPIKEY&text=Better%20late%20than%20never&lang=ru\");            //检查你的日志,JSON响应
            Log.d(登录尝试,jobj.toString());            AB = jobj.optString(文字);
            返回AB;
        }
        保护无效onPostExecute(字符串AB){            tv.setText(AB);
        }    }}

MY JSONPARSER CLASS

 公共类JSONParser {    静态InputStream为= NULL;
    静态的JSONObject jobj = NULL;
    静态JSON字符串=;
    公共JSONParser(){    }
    公众的JSONObject makeHtt prequest(字符串URL){
            DefaultHttpClient的HttpClient =新DefaultHttpClient();
            HttpPost httppost =新HttpPost(URL);
            尝试{
                HTT presponse HTT presponse = httpclient.execute(httppost);
                HttpEntity httpentity = HTT presponse.getEntity();
                是= httpentity.getContent();            }赶上(ClientProtocolException E){
                // TODO自动生成catch块
                e.printStackTrace();
            }赶上(IOException异常五){
                // TODO自动生成catch块
                e.printStackTrace();
            }            尝试{
                读者的BufferedReader =新的BufferedReader(新的InputStreamReader(是,UTF-8),8);
                StringBuilder的SB =新的StringBuilder();
                串线= NULL;
                尝试{
                    而((行= reader.readLine())!= NULL){
                        sb.append(行+\\ n);                    }
                    is.close();
                    JSON = sb.toString();
                    尝试{
                        jobj =新的JSONObject(JSON);
                    }赶上(JSONException E){
                        // TODO自动生成catch块
                        e.printStackTrace();
                    }
                }赶上(IOException异常五){                    e.printStackTrace();
                }            }赶上(UnsupportedEncodingException五){
                // TODO自动生成catch块
                e.printStackTrace();
            }        返回jobj;    }}


解决方案

从你的JSON从网址{code:200,郎:EN-RU,文:犹未晚总比没]}
试试这个...

YOUT JSON结构

  {
  code:200,
  郎:EN-RU
  文:[
    迟到总比不到好
   ]
}

您可以使用下面让你的输出。

  {尝试
    JSONObject的jsonObj =新的JSONObject(JSON);
    字符串code = jsonObj.getString(code);
    字符串LANG = jsonObj.getString(郎);
    JSONArray文本= jsonObj.getJSONArray(文字);
    Log.e(输出,code:+ code +\\ nlang:+郎咸平+\\ NTEXT
                    + text.getString(0));
    }赶上(例外五){
    e.printStackTrace();
    }

How do I get text from json without [" "] only text, in Android project?

this is my json from url {"code":200,"lang":"en-ru","text":["Better late than never"]}

i need get text "text":["Better late than never"] without [" "] only text: Better late than never

myclass MAINACTIVITY

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

    }

}

MY JSONPARSER CLASS

public class JSONParser {

    static InputStream is = null;
    static JSONObject jobj = null;
    static String json = "";
    public JSONParser(){

    }
    public JSONObject makeHttpRequest(String url){
            DefaultHttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost(url);
            try {
                HttpResponse httpresponse = httpclient.execute(httppost);
                HttpEntity httpentity = httpresponse.getEntity();
                is = httpentity.getContent();

            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            try {
                BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"),8);
                StringBuilder sb = new StringBuilder();
                String line = null;
                try {
                    while((line = reader.readLine())!=null){
                        sb.append(line+"\n");   

                    }
                    is.close();
                    json = sb.toString();
                    try {
                        jobj = new JSONObject(json);
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                } catch (IOException e) {

                    e.printStackTrace();
                }

            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        return jobj;

    }

}

解决方案

From your json from url {"code":200,"lang":"en-ru","text":["Better late than never"]} Try this...

Yout JSON structure

{
  "code": 200,
  "lang": "en-ru",
  "text": [
    "Better late than never"
   ]
}

You can get your output using below..

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

这篇关于如何从JSON文本无[&QUOT; &QUOT;]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆