如何从JSON文本无[" "] [英] How to get text from JSON without [" "]
问题描述
我怎么没有[]纯文本的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屋!