gpt4 book ai didi

java在String.split中使用正则表达式来准备json参数

转载 作者:行者123 更新时间:2023-12-02 11:56:28 24 4
gpt4 key购买 nike

我有一个csv文件,其中包含这种类型的文档:

{""cast_id"": 10, ""character"": ""Mushu (voice)"", ""credit_id"": ""52fe43a09251416c75017cbb"", ""gender"": 2, ""id"": 776, ""name"": ""Eddie Murphy"", ""order"": 0}, {""cast_id"": 62, ""character"": ""[Singing voice]"", ""credit_id"": ""597a65c8925141233d0000bb"", ""gender"": 2, ""id"": 18897, ""name"": ""Jackie Chan"", ""order"": 1}, {""cast_id"": 16, ""character"": ""Mulan (voice)"", ""credit_id"": ""52fe43a09251416c75017cd5"", ""gender"": 1, ""id"": 21702, ""name"": ""Ming-Na Wen"", ""order"": 2}

我首先使用这个正则表达式将四引号更改为双引号:

String newResult = result.replaceAll("\"{2}", "\"");

然后我使用这个正则表达式来分割这个字符串:

String[] jsonResult = newResult.split(", (?![^{]*\\})");

但是,它将字符串分隔为:

{"cast_id": 10, "character": "Mushu (voice)", "credit_id": "52fe43a09251416c75017cbb", "gender": 2, "id": 776, "name": "Eddie Murphy", "order": 0}

{"cast_id": 62

"character": "[Singing voice

然后还有别的事情

{"cast_id": 16, "character": "Mulan (voice)", "credit_id": "52fe43a09251416c75017cd5", "gender": 1, "id": 21702, "name": "Ming-Na Wen", "order": 2}

所以我的正则表达式在遇到方括号 [] 时失败,我可以得到一些帮助吗?

我尝试使用 http://www.regexplanet.com/advanced/java/index.html但我不明白我应该在选项、替换和输入中放入什么。我如何使用这个网站?

谢谢

最佳答案

您正在处理已保存为一列 CSV 文件的 JSON 数据。 :)CSV 中的引号将用双引号转义,因此您可以仅使用 CSV 库来读取文件。正如我所说,您应该只得到一列 - 一个包含 JSON 的值。然后使用 JSON 库来解析 JSON。

=> 您根本不需要实现任何解析。

关于java在String.split中使用正则表达式来准备json参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47569254/

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