当前位置: 首页 > 面试题库 >

从JSONArray输出中删除引号

燕智
2023-03-14
问题内容

在成功的调用中,我获得了带有键“ 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. substring()

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

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

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

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

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

3. .ValueOf()或.getString()

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

要么

childJSONObject.getString("name");

否则将优先级设置为:3> 2> 1



 类似资料:
  • 我有一些脚本,产生与颜色输出,我需要删除ANSI代码。 输出为(在日志文件中): 我不知道如何把ESC字符放在这里,所以我把放在它的位置。 我把剧本改成: 但是现在它给我(在日志文件中): 我怎样才能删除这个'? 也许有一种方法可以完全禁用整个脚本的着色?

  • 问题内容: 我从pandas函数获得了这样的输出文件。 我正在尝试只输出第二列,即 通过删除第一行的顶部和底部行。我怎么做? 问题答案: 您只需要属性: 您可以转换为列表或访问每个值:

  • 问题内容: 我正在构建一个应用程序,其中我从服务器请求一个PHP文件。此PHP文件返回一个以JSONObjects为元素的JSONArray,例如, 我的代码: 如何从此JSONArray删除特定元素? 问题答案: 试试这个代码 编辑: 使用将添加到键和值。所以,用自己

  • 问题内容: 我有一个可以下载,编辑然后再次上传CSV文件的过程。在下载时,CSV文件的格式正确,没有换行双引号 当我在电子表格中打开CSV并进行编辑和保存时,它会在字符串周围添加双引号 我认为这只是电子表格的作用(在本例中为openoffice)。我希望我的上传脚本删除环绕双引号。我不能删除所有引号,以防万一正文包含它们,并且我也不想仅检查第一个和最后一个字符是否包含双引号。 我几乎确定pytho

  • 问题内容: 我有一些javascript代码,可处理使用框架2.0构建的asp.net Web服务的json输出。现在,我需要支持从框架3.5 Web服务返回的数据。 我的JavaScript代码假定对象列表为返回值,在2.0中可以正常工作。但是,在框架3.5中,该列表包装在“ d”对象中。有什么办法可以删除“ d”包装并仅返回列表? 我宁愿在服务器端修复此问题 问题答案: 您不能将3.5+服务配

  • 下面是JSON字符串: 为了在java对象中反序列化这个字符串,我必须删除\,这可以使用string replace方法来完成。除此之外,在[和]之前还有双引号。我如何删除这些双引号或允许它们时,反序列化使用杰克逊。