简单处理字符串——6.14山大软院项目实训1

对于直接输出服务器返回的json到Debug,发现他还包含json的结构,但是不想调试json的返回结构,可以使用简单地处理字符串的方法,而不引入额外的库或复杂的JSON解析,但是这个解决方式是暂时的是投机取巧的,正确的做法我会在下一条博客里面写出来。

可以考虑使用字符串操作方法直接从接收到的JSON字符串中提取需要的部分。这可以通过搜索特定的关键词或字符位置来实现,然后使用字符串切割方法如Substring来提取您感兴趣的内容。

下面是一个使用字符串方法从JSON响应中提取response字段内容的示例:

cs 复制代码
using UnityEngine;

public class SimpleJSONExtractor : MonoBehaviour
{
    void Start()
    {
        string jsonResponse = "{\"response\": \"当然可以,山东大学软件园校区的教学楼设计现代化且设施齐全,它们是学生们学习和研究的重要场所。。\", \"status_code\": 200}";
        string extractedResponse = ExtractResponse(jsonResponse);
        Debug.Log(extractedResponse);
    }

    string ExtractResponse(string json)
    {
        string startKeyword = "\"response\": \"";
        string endKeyword = "\", \"status_code\"";

        int startIndex = json.IndexOf(startKeyword) + startKeyword.Length;
        int endIndex = json.IndexOf(endKeyword, startIndex);
        if (startIndex < 0 || endIndex < 0 || startIndex >= endIndex) {
            return "Response content not found.";
        }

        string response = json.Substring(startIndex, endIndex - startIndex);
        return response;
    }
}
  1. 查找开始和结束关键词 :这段代码中使用了IndexOf方法来定位"response": "和后续的", "status_code"标记。这两个标记定义了响应文本在JSON字符串中的开始和结束位置。

  2. 提取响应文本 :通过计算这些位置,使用Substring方法来提取位于这两个标记之间的文本。

  3. 错误处理:如果找不到这些关键词,或者位置计算有误(比如开始位置大于结束位置),则返回一个错误消息。

这种方法的优点是它不需要任何外部库,且实现简单。然而,它也有缺点,特别是如果JSON格式发生了变化(如字段顺序变动或额外嵌套),这种方法可能就会失效。因此,在使用这种方法时,确保JSON格式相对固定且不太可能改变。

相关推荐
南無忘码至尊11 小时前
Unity学习90天 - 第 6天 - 学习协程 Coroutine并实现每隔 2 秒生成一波敌人
学习·unity·c#·游戏引擎
张老师带你学12 小时前
unity 老版本资源迁移,第一人称,完整城市,有出身点房内视图,有gun shop视图,urp
科技·游戏·unity·模型·游戏美术
mxwin20 小时前
Unity URP 下 UI 特效开发指南 深入探索顶点色、Mask 交互与扭曲特效的实战技巧
ui·unity·游戏引擎·shader
CandyU220 小时前
Unity入门
unity·游戏引擎
呆呆敲代码的小Y1 天前
48个AI智能体搭建完整游戏开发工作室:Claude Code Game Studios
人工智能·游戏·unity·ai·游戏引擎·ai编程·ai游戏
思航1 天前
Mcp for unity原理详解
unity·ai编程
一只蝉nahc1 天前
vue使用iframe内嵌unity模型,并且向模型传递信息,接受信息
前端·vue.js·unity
小拉达不是臭老鼠2 天前
Unity05_3D数学
学习·unity·游戏引擎
油炸自行车2 天前
Unity URDF 导入后运行报错问题笔记
笔记·unity·游戏引擎·数字孪生·urdf·工业仿真·虚拟与现实
南無忘码至尊2 天前
Unity学习90天 - 第 5 天 - 阶段小项目
学习·unity·c#·游戏引擎