首页 > 其他分享 >简单处理字符串——6.14山大软院项目实训1

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

时间:2024-06-18 09:00:14浏览次数:24  
标签:string JSON json 软院 startIndex 实训 字符串 6.14 response

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

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

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

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格式相对固定且不太可能改变。

标签:string,JSON,json,软院,startIndex,实训,字符串,6.14,response
From: https://blog.csdn.net/m0_63143408/article/details/139679917

相关文章

  • 最简单直接的开动热气球方法——6.17山大软院项目实训
    我们思考一下开动热气球的逻辑,通过控制器(手柄)的移动来控制热气球的前进后退以及转向,这不是和人物的基础移动很像吗,那我们可以想到,只要对于热气的y轴移动没有什么要求,那么我们就可以使用一个热气球模型将他直接挂在maincamera的下面,然后通过手柄控制人物移动的方式控制热气球的......
  • 6.14
    实验一数据库和表的建立、数据操作一、实验目的:掌握使用SQL语言进行数据定义和数据操纵的方法。二、实验要求:建立一个数据库stumanage,建立三个关系表student,course,sc。向表中插入数据,然后对数据进行删除、修改等操作,对关系、数据库进行删除操作。三、实验步骤:1、开始......
  • 6.14
    复习计网以及数据库,完成了web的实验四<html><head><title>学生管理系统</title><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><linkrel="stylesheet"type="text/css"href="css/s......
  • 6.14博客
    周五了太棒了学习内容:安卓packagecom.example.app_02;importorg.junit.Rule;importorg.junit.Test;importstaticorg.junit.Assert.*;importcom.example.app_02.entity.Record;importcom.example.app_02.utils.RecordDao;importjava.util.ArrayList;/** *......
  • 6.14
    今日学习总结学习时间1,5hpackagecom.app.chapter04;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.View;importandroidx.activity.EdgeToEdge;importandroidx.appcompat.app.AppCompatActivity;importandroidx.core.graphics.Insets;import......
  • 山东大学软件学院2024年项目实训-11
    队友合代码的时候用她的电脑生成PPT功能会报500错误,说layout为空,加入判断是否为空的逻辑后导致结尾页识别不了了,参看日志发现可能是直接按照内容页判断的,判断不出就自行创建了一页幻灯片,这样显然是不对的。2024-06-16T13:06:42.528+08:00DEBUG6172---[PPT_project_backend......
  • 6.14实验四:共轭梯度法程序设计
    实验四:共轭梯度法程序设计一、实验目的掌握共轭梯度法的基本思想及其迭代步骤;学会运用MATLAB编程实现常用优化算法;能够正确处理实验数据和分析实验结果及调试程序。  二、实验内容(1)求解无约束优化问题:(2)终止准则取;(3)完成FR共轭梯度法的MATLAB编程、调试;(4)选取几个与实验二......
  • 6.14安卓开发日记58
     实验三:Newton法程序设计一、实验目的掌握Hesse矩阵的计算方法和Newton法的基本思想及其迭代步骤;学会运用MATLAB编程实现常用优化算法;能够正确处理实验数据和分析实验结果及调试程序。二、实验内容(1)求解无约束优化问题:;(2)终止准则取;(3)完成Newton法(牛顿法)的MATLAB编程、调试......
  • 6.14-二叉树遍历
    题目分类题目分类大纲如下:二叉树的种类在我们解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树。满二叉树满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。如图所示:这棵二叉树为满二叉树,也可以说深度为k,有......
  • 6.14 哈希表
    采用邻接表创建无向图G,依次输出各顶点的度。输入格式:输入第一行中给出2个整数i(0<i≤10),j(j≥0),分别为图G的顶点数和边数。输入第二行为顶点的信息,每个顶点只能用一个字符表示。依次输入j行,每行输入一条边依附的顶点。输出格式:依次输出各顶点的度,行末没有最后的空格。输入......