从JSONArray输出中删除引号
在成功的调用中,我获得了带有键“ objects”的JSONArray,再次是带有键“ name”的testValue。输出为:
"Abcd""Wxyz"
我的代码如下:
public void onSuccess(JSONValue val) { JSONObject obj = val.isObject();
JSONArray test = JSONUtil.getJSONArray(test, "objects");
for (int i = 0; i < test.size(); i++) {
JSONObject childJSONObject = (JSONObject) test.get(i);
JSONValue testValue = childJSONObject.get("name");
System.out.println(testValue);
}
}
想要按以下方式打印名称:(不带双引号)
AbcdWxyz
回答:
testValue.toString().replaceAll("\"", "");
此方法将替换您名字中出现的所有双引号,而不是第一个和最后一个。
示例:“ Abcd”变为Abcd,但如果名称为“ Ab” cd“,则根据您的要求应为Ab” cd,但它变为Abcd。意思是说所有双引号都被替换了。
如果要使用子字符串方法,请使用以下语法从字符串中删除第一和最后一个双引号:
testValue.toString().subString(1,testValue.toString().length()-1);
1
-指示字符串的第一个字符
testValue.toString().length()-1
:表示字符串的最后一个字符。
不知道在您的情况下为什么它不起作用?(可能是因为字符串本身包含引号)否则,最好的方法是将JSONValue转换为StringString.ValueOf(testValue);
要么
childJSONObject.getString("name");
否则将优先级设置为:3> 2> 1
以上是 从JSONArray输出中删除引号 的全部内容, 来源链接: utcz.com/qa/401631.html