gpt4 book ai didi

java - 从 JSONArray 输出中删除引号

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:28:11 24 4
gpt4 key购买 nike

在成功的调用中,我得到了带有键“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);
}
}

想要打印名字如下:(不带双引号)

Abcd
Wxyz

最佳答案

<强>1。 .replaceAll()

testValue.toString().replaceAll("\"", "");

此方法替换您名字中出现的所有双引号,而不是第一个和最后一个。

示例:“Abcd”变为 Abcd,但如果名称为“Ab”cd,则根据您的要求应为 Ab“cd,但它变为 Abcd。意思是说所有的双引号都替换掉了。

<强>2。子串()

如果您想使用子字符串方法,请使用以下语法从字符串中删除第一个和最后一个双引号:

testValue.toString().subString(1,testValue.toString().length()-1);

1 - 表示字符串的第一个字符

testValue.toString().length()-1 : 表示字符串的最后一个字符。

对于您的情况,.substring() 方法比 .replaceAll() 更好,如果 .getString()不工作。

<强>3。 .ValueOf() 或 .getString()

不知道在你的情况下为什么它不起作用? (可能是因为字符串本身包含引号)否则最好的方法是将 JSONValue 转换为字符串 String.ValueOf(testValue);

childJSONObject.getString("name");

否则优先考虑:3 > 2 > 1

关于java - 从 JSONArray 输出中删除引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21879568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com