Java 获取不带方括号的字符串
我有一个像这样的jsonJava 获取不带方括号的字符串,java,json,jsonobject,Java,Json,Jsonobject,我有一个像这样的json {"First":["Already exists"],"Second":["Already exists"]} 现在我做的就像 JSONObject jObject = new JSONObject(myJson); String first = jObject.getString("First") 但我得到的结果是这样的 first = ["Already exists"] 但是我想要不带方括号的字符串或“尝试获取子字符串,例如 String first =
{"First":["Already exists"],"Second":["Already exists"]}
现在我做的就像
JSONObject jObject = new JSONObject(myJson);
String first = jObject.getString("First")
但我得到的结果是这样的
first = ["Already exists"]
但是我想要不带方括号的字符串或
“
尝试获取子字符串,例如
String first = jObject.getString("First")
String subFirst = first.substring(2,first.length()-2);
尝试使用JSONArray:
JSONArray jArray = new JSONObject(myJson).getJSONArray("First");
String first = jArray.getString(0);
键为“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();
}
String String=“{'First':['ready exists'],'Second':['ready exists']}”;
JSONObject jObject;
尝试
{
jObject=新的JSONObject(字符串);
对象myJson=jObject.get(“第一”);
if(JSONArray的myJson实例)
{
JSONArray jArray=jObject.getJSONArray(“第一”);
for(int i=0;i
多亏了@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));
快乐编码改用JSONArray。事实上,你得到的是
第一个=“[\”已经存在\“]”
虽然这会“起作用”,但似乎不是正确的方法