首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在统一中进行JSON解析?

如何在统一中进行JSON解析?
EN

Stack Overflow用户
提问于 2020-03-06 04:24:50
回答 2查看 266关注 0票数 1

我有一个字符串变量,其中包含以下JSON。

代码语言:javascript
复制
[
    {
        "MeterLookup_TblRefID": 233,
        "NetworkLookup_TblRefID": 3,
        "Network_Name": "SS-43 SEWA SCADA (Command Center)",
        "Longitude": 55.403544,
        "Latitude": 25.366666,
        "OnOFfStatus": true
    },
    {
        "MeterLookup_TblRefID": 297,
        "NetworkLookup_TblRefID": 4,
        "Network_Name": "SS-8 MaySaloon",
        "Longitude": 55.406274,
        "Latitude": 25.360654,
        "OnOFfStatus": true
    },
    {
        "MeterLookup_TblRefID": 298,
        "NetworkLookup_TblRefID": 5,
        "Network_Name": "SS-1 Al Nasserya Driving School",
        "Longitude": 55.404669,
        "Latitude": 25.367591,
        "OnOFfStatus": true
    }
]   

--我想把它解析成一个JSON对象

。任何人都可以告诉我怎么做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-06 10:03:55

使用此功能:

代码语言:javascript
复制
public static T[] DeserializeFromJsonArray<T>(string jsonString)
    {        
            string newJson = "{ \"array\": " + jsonString + "}";
            Wrapper<T> wrapper = JsonUtility.FromJson<Wrapper<T>>(newJson);
            return wrapper.array;        
    }

如下所示:

代码语言:javascript
复制
JsonObjectModel[] arrayOfObjects = DeserializeFromJsonArray<JsonObjectModel>(jsonArrayString);

如果要再次序列化,请使用:

代码语言:javascript
复制
public static string SerializeToJsonArray<T>(T[] arrayToSerialize)
    {
        Wrapper<T> wrapper = new Wrapper<T>();
        wrapper.array = arrayToSerialize;
        return JsonUtility.ToJson(wrapper);
    }

像这样使用它:

代码语言:javascript
复制
 string jsonString = JsonManager.SerializeToJson<JsonArrayModel>(jsonArrayModel);

如果您还有更多的问题,我将使用一些UnityUtils进行回购,其中包括一个JsonManaging示例:https://github.com/EricBatlle/SimpleUnityUtils/tree/master/Assets/Simple_JsonManager

票数 1
EN

Stack Overflow用户

发布于 2020-03-06 04:34:24

您可以使用联合的JSONUtility。

这个例子摘自联合的文档本身。

代码语言:javascript
复制
using UnityEngine;

[System.Serializable]
public class PlayerInfo
{
    public string name;
    public int lives;
    public float health;

    public static PlayerInfo CreateFromJSON(string jsonString)
    {
        return JsonUtility.FromJson<PlayerInfo>(jsonString);
    }

    // Given JSON input:
    // {"name":"Dr Charles","lives":3,"health":0.8}
    // this example will return a PlayerInfo object with
    // name == "Dr Charles", lives == 3, and health == 0.8f.
}

参考资料:https://docs.unity3d.com/ScriptReference/JsonUtility.FromJson.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60557567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档