【问题标题】:how to separate the content of a string? [closed]如何分隔字符串的内容? [关闭]
【发布时间】:2014-05-18 05:19:39
【问题描述】:

json 给了我一个包含三个值的值,我将它们分开保存

map给我一个内容,那个内容有3个值应该分开,那个语言占?

 "mapa":[
    "a:3:{s:7:\"address\";s:54:\"Volc\u00e1n Parinacota 1202-1220, Chill\u00e1n, Biob\u00edo, Chile\";
     s:3:\"lat\";s:19:\"-36.620445433045944\";
     s:3:\"lng\";s:18:\"-72.07966608584445\";
         }"
        ]

【问题讨论】:

  • 抱歉,粘贴西班牙文,但还是不给否定
  • 我只需要分离内容交付地图,当这些被存储为1个单一变量时保存,但坐标或位置不是用于分离和保存的语言或方法

标签: android json google-maps


【解决方案1】:

在 JSON 字符串中,有两个符号可以引导您完成解析:

{ - 表示一个 JSONObject

[ - 表示一个 JSONArray

在解析 json 字符串时,您应该迭代地遍历这些项目。要了解您的 string 中有多少 JsonObjects 和 JsonArrays 以及您应该从哪些开始解析,请使用 json-visualizer 工具,如 this website。 :

示例: 如您所见,根对象是一个 JSONObject,它由一个带有三个 jsonOnject 的 JSONArray 组成。要解析这样的结构,您可以使用:

JSONObject jsonobj = new JSONObject(jsonstring);

String result = jsonObject.getString("success");
String error_number = jsonObject.getString("error_number");    
String error_message = jsonObject.getString("error_message"); 

JSON Array jsonarray = jsonobj.getJSONArray();

String[] names = new String[jsonArray.length()];    
String[] formattedNames = new String[jsonArray.length()];  

for(int i=0;i<jsonArray.length();i++)
{
    JSONObject jsonObject = jsonArray.getJSONObject(i);

    names [i] = jsonObject.getString("name");
    formattedNames [i] = jsonObject.getString("formattedName");
  }

【讨论】:

  • 明白,但是"mapa"呢,它带来的价值在里面是不一样的,就像分开的一样?
  • 其实你粘贴的json是无效的。粘贴正确的。我假设 mapa 应该是一个 jsonobject,它由不同的 json 数组组成,其中又包含 jsonobjects
  • 处理我能做的json,所以我在ero map处理时没有问题,内容只作为一个值传递给我,而是保存在3个值中​​​,我想将这些值分开
猜你喜欢
  • 1970-01-01
  • 2019-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-05
  • 2016-07-05
  • 2016-06-21
相关资源
最近更新 更多