gpt4 book ai didi

java - 剪切 JsonStr

转载 作者:行者123 更新时间:2023-12-01 11:28:54 27 4
gpt4 key购买 nike

我的代码如下所示:

        ServiceHandler sh = new ServiceHandler();

// Making a request to url and getting response
String jsonStr = sh.makeServiceCall(url, ServiceHandler.GET);



Log.d("Response: ", "> " + jsonStr);

if (jsonStr != null) {
try {
JSONObject jsonObj = new JSONObject(jsonStr);

// Getting JSON Array node
contacts = jsonObj.getJSONArray(TAG_CONTACTS);

...

所以我想从 Json Obj 获取数据。我的应用程序在“尝试”部分失败,因为它告诉我

".../b> 3370 行
{"bpactivities":[{"id":"160", ...... "

所以我认为它是因为像/b> 这样的标签

我现在想做的是剪切 jsonStr 中的所有内容,直到“{"bpactivities": .. ”开始。

例如,字符串现在是“我不希望这些东西在这里{”bpactivities“:..,”“但我想要这样:”{“bpactivities”:..“”

那么我怎样才能在实际的 jsonObj 开始之前剪切所有内容呢?有办法吗?

提前致谢

最佳答案

如果您知道 jsonObj 开始之前的部分如何开始,您可以:

    String jsonStr = " i dont want this stuff to be here {\"bpactivities\": ..,, \" ";

System.out.println(jsonStr.split(" here ")[1]);
//returns_ {"bpactivities": ..,, "

String.split(String regex) 返回一个字符串数组。在这种情况下,第一个元素包含正则表达式之前的部分,第二个元素包含最后一部分。

您的解决方案:

JSONObject jsonObj = new JSONObject(jsonStr.substring(jsonStr.indexOf('{')));

也可以,但是如果在实际的 jsonObj 之前有任何“{”,则会导致问题。

关于java - 剪切 JsonStr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30595575/

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