0

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

我愿意

JSONObject jsonObj = new JSONObject(json);

在 json 中有

"{"sentences":[{"trans":"R\u0455R\u0491ReR\u0405","orig":"�\u0455�\u0491��\u0405","translit":"","src_translit": "R\u1E91Rg\u0300RoR\u1E90"}],"src":"ru","server_time":1}"

但 jsonObj 有

"{"sentences":[{"src_translit":"RẑRg̀RoRẐ",​​"orig":"�ѕ�ґ��Ѕ","trans":"RѕRґReRЅ","translit":""}],"server_time" :1,"src":"ru"}"

那么我如何从“trans”中获得价值:“RѕRґReRЅ”?

PS RѕRґReRЅ 在普通字符集中它是“自己的”

4

3 回答 3

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();
    }
于 2013-08-14T11:54:40.973 回答
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");
}
于 2013-08-14T11:52:07.273 回答
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");
}
于 2013-08-14T12:04:05.370 回答