首页 > 其他分享 >Unity解析key不确定的Json

Unity解析key不确定的Json

时间:2023-12-28 20:32:14浏览次数:26  
标签:string jsonToHashtable Json test Unity key var data public

遇到Json的key不固定时,只需要解析value,如下Json data下的key(1和2)是变化的:

{
    "status": 1,                
    "msg": "success",        
    "data": [
        "1:": {
            "atitle": "test",
            "imgurl": "http://test.png",
            "cgid": "1",
            "saedate": "05/02/2020 - 05/06/2020"
        },
        "2:": {
            "atitle": "test",
            "imgurl": "http://test.png",
            "cgid": "1",
            "saedate": "05/02/2020 - 05/06/2020"
        }
    ]
}
var jsonObject = MiniJSON.jsonDecode(str);
var jsonToHashtable = jsonObject as Hashtable;
if (jsonToHashtable != null) {
    if (jsonToHashtable.Contains("status")) {
        var statusObj = jsonToHashtable["status"];
        int statusInt = Convert.ToInt32(statusObj);
        if (statusInt == 1) {
            if (jsonToHashtable.Contains("data")) {
                var data = jsonToHashtable["data"];
                var dataHashtable = data as Hashtable;
                foreach(var values in dataHashtable.Values) {
                    string dataItemStr = MiniJSON.jsonEncode(values);
                    PayInfo payInfo = JsonConvert.DeserializeObject<PayInfo>(dataItemStr);
                }                                                               
            }
        }
    }                
}

public class PayInfo {
    public string atitle = "";
    public int cgid;
    public string imgurl;
    public string saedate;
}

标签:string,jsonToHashtable,Json,test,Unity,key,var,data,public
From: https://blog.51cto.com/u_16289922/9018266

相关文章

  • Diffie-Hellman Key Agreement Protocol 安全漏洞 (CVE-2002-20001)【原理扫描】
    Diffie-HellmanKeyAgreementProtocol是一种密钥协商协议。它最初在Diffie和Hellman关于公钥密码学的开创性论文中有所描述。该密钥协商协议允许Alice和Bob交换公钥值,并根据这些值和他们自己对应的私钥的知识,安全地计算共享密钥K,从而实现进一步的安全通信。仅知道交换......
  • Unity_U_OP1 ScriptableObject 替代单例
    核心思想:解耦GameManager单例模式,不再由一个单例管理所有事件触发,拆分成无数个小单例,各自管理优点:更加灵活的事件管理模式复用性高,对于相关类型的事件,只需要写一遍代码,剩下的拖拖拖就可以实现相同的功能。缺点:管理起来相对麻烦不利于维护,除非对这个系统非常了解,要不然排......
  • Maya与Unity模型尺度统一
    Maya与Unity模型尺度统一Maya建模默认使用的单位是cm,Unity使用的是m,有时候可能需要把Maya中建好的模型导入到Unity中,因此这篇文章介绍如何修改Maya的默认建模单位,从而使得二者的尺度统一。进入窗口,设置,首选项。修改为m......
  • Unity引擎2D游戏开发,敌人追击状态的转换
    思路:从敌人的位置发射一道射线或者一片区域来对玩家实体进行检测,如果检测倒玩家,则进行追击进攻利用BoxCast()即可实现BoxCast()官方文档:https://docs.unity3d.com/cn/2022.3/ScriptReference/Physics2D.BoxCast.html创建检测区域由于BoxCast需要众多参数,所以在Enemy中创建......
  • Unity3D 如何提升游戏运行效率详解
    前言Unity3D是一款非常强大的游戏引擎,但是在处理复杂场景和大量资源时,游戏运行效率可能会遇到一些问题。本文将详细介绍如何提升Unity3D游戏的运行效率,包括技术详解和代码实现。对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀使用合适的资源压缩......
  • Unity3D Shader在GPU上是如何执行的详解
    Unity3D是一款广泛应用于游戏开发的跨平台开发引擎,它提供了丰富的功能和工具来帮助开发者创建高质量的游戏。其中一个重要的功能就是Shader,它可以用来控制对象的渲染效果。在Unity3D中,Shader是在GPU上执行的,那么它是如何工作的呢?本文将详细解释Unity3DShader在GPU上的执行过程,并......
  • Unity3D Shader Compute Shader基于GPU的并发计算详解
    在游戏开发中,计算密集型的任务通常需要耗费大量的CPU资源,这可能导致游戏性能下降,影响玩家的游戏体验。为了解决这个问题,Unity3D引入了ShaderComputeShader技术,它使用GPU进行并发计算,将一些计算密集型任务从CPU转移到GPU上执行,以提高游戏的性能和效率。本文将详细介绍Unity3DSha......
  • Unity3D 基类脚本怎么分别获取多个子类脚本的组件详解
    Unity3D是一款非常流行的游戏开发引擎,它提供了丰富的功能和工具,使得开发者可以轻松地创建高质量的游戏。在Unity3D中,脚本是游戏对象的一部分,它们通过附加到游戏对象上的组件来实现特定的功能。本文将详细介绍在Unity3D中如何分别获取多个子类脚本的组件,并提供相应的代码实现。对......
  • unity 标准资源包(过时)
    unity标准资源包Unity标准资源包(StandardAssets)是由Unity官方提供的一组可复用的资源集合,包含许多常用的游戏开发资源,如场景、材质、脚本、粒子效果、声音等。使用StandardAssets可以加速游戏开发的过程,因为它们已经预先制作好了,并且经过了官方的测试和优化,开发者可以......
  • keycloak~从login-status-iframe页面总结如何跨域传值~续
    keycloak~从login-status-iframe相关文章,可阅读我的这两篇keycloak~从login-status-iframe页面总结如何跨域传值,keycloak~对接login-status-iframe页面判断用户状态变更。什么是跨域跨域(Cross-Origin)是指在Web开发中,当一个资源(比如JavaScript、CSS、图片等)来自于不同域名、协......