来自Android上的字符串的JSONObject

时间:2013-08-14 11:33:50

标签: android json getjson

从服务器获取答案的字符串。我想做JSONObject。

我做

JSONObject jsonObj = new JSONObject(json);

在json中

  

“{” 句子 “:[{” 反式 “:” R \ u0455R \ u0491ReR \ u0405" , “原稿”: “\ u0455 \ u0491 \ u0405”, “TRANSLIT”: “”,” src_translit “:” R \ u1E91Rg \ u0300RoR \ u1E90 “}],” SRC “:” る “ ”server_time“:1}”

但是jsonObj有

  

“{” 句子 “:[{” src_translit “:” RẑRgRoRẐ”, “原稿”: “ѕґЅ”, “反式”: “RѕRґReRЅ”, “TRANSLIT”: “”}], “server_time”:1, “SRC”: “RU”}“

那么我怎样才能从“trans”获得价值:“RѕRґReRЅ”?

PSRѕRґReRЅ它是普通字符集中的“拥有”

3 个答案:

答案 0 :(得分:0)

试试这个

  JSONObject jsonObj = new JSONObject(json);
  JSONArray  sentences = jsonObj.getJSONArray("sentences");
  for(int i=0;i<sentences.length();i++){
    JSONObject number = sentences.getJSONObject(i);
    String transValue = number.getString("trans");
}

答案 1 :(得分:0)

如果您已经拥有jsonObj,则必须执行以下操作:

  try {
// Getting Array of Sentences
sentences = json.getJSONArray("sentences");

// looping through All Contacts
for(int i = 0; i < sentences.length(); i++){
    JSONObject c = sentences.getJSONObject(i);

    // get the value from trans
    String trans = c.getString("trans");       
  //now you should save this string in an array 

}
 } catch (JSONException e) {
    e.printStackTrace();
    }

答案 2 :(得分:0)

首先,您必须从JSON字符串的开头和结尾删除单引号表单( json ),这样您的JSON将是一个有效的json,您必须这样做:

json= json.substring(1, json.length()-1);

之后你会这样:

JSONObject oJsonObject = new JSONObject(json);
JSONArray  oJsonArray   = oJsonObject.getJSONArray("sentences");

for(int i=0; i<oJsonArray.length(); i++)
{
    JSONObject oJsonObject1 = oJsonArray.getJSONObject(i);
    String transValue = oJsonObject1 .getString("trans");
}