有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java获取不带方括号的字符串

我有过这样的经历

{"First":["Already exists"],"Second":["Already exists"]}

现在我做的就像

JSONObject jObject = new JSONObject(myJson);
String first = jObject.getString("First")

但我得到的结果是这样的

first = ["Already exists"]

但是我想要没有方括号的字符串或者""


共 (4) 个答案

  1. # 1 楼答案

    多亏了@m.qadhavi,我才知道它是如何工作的

     //This was my temporary solution
     //get no. of garage
     properties.setPropertyFeaturesGarage(jsonObject
    .getJSONObject("extras")
    .getString("property_garages")
    .replaceAll("[\"]", "")
    .replace('[',' ')
    .replace(']',' '));
    

    但在经过@m.qadhavi解释后,我更正了我的代码

     //get land size
     properties.setPropertyFeaturesLandSize(jsonObject
    .getJSONObject("extras")
    .getJSONArray("property_size")
    .getString(0));
    

    快乐编码

  2. # 2 楼答案

    尝试获得子字符串,例如

    String first = jObject.getString("First")
    String subFirst = first.substring(2,first.length()-2);
    
  3. # 3 楼答案

    键为“first”的json消息是数组。所以use应该视为数组

    String string = "{'First':['Already exists'],'Second':['Already exists']}";
        JSONObject jObject;
        try
        {
            jObject = new JSONObject(string);
            Object myJson = jObject.get("First");
            if(myJson instanceof JSONArray)
            {
                JSONArray jArray = jObject.getJSONArray("First");
                for (int i = 0; i < jArray.length(); i++)
                {
                    System.out.println("val : "+jArray.getString(i));
                }
            }
        } catch (JSONException e)
        {
            e.printStackTrace();
        }
    
  4. # 4 楼答案

    尝试使用JSONArray:

        JSONArray jArray = new JSONObject(myJson).getJSONArray("First");
        String first = jArray.getString(0);