如何处理JSON中为空的变量

Loc Dai Le

在我的JSON文件中,有一个数组(租金)。在此数组中,有一个变量,序列,可以为null或字符串。如果串行变量为null,我想遍历数组(租金),我想继续循环,但是当它不为null时,我想保存它。但是它不以这种方式表现。当获得“序列”时,数组停止循环。

这是我的代码:

    public static string sendRequest(string url, string method) {
            try
            {
                // Set reqiued information for api
                var httpWebRequest = (HttpWebRequest)WebRequest.Create(main_url + url);
                httpWebRequest.ContentType = "application/x-www-form-urlencoded";
                httpWebRequest.Headers.Add("Authorization", "Bearer " + Current_Access_Token);
                httpWebRequest.Accept = "application/json;v=1";
                httpWebRequest.Method = method;

                // Get adn return responses
                var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                string respStr = new StreamReader(httpResponse.GetResponseStream()).ReadToEnd();
                return respStr;
            }
            catch (Exception e)
            {
                MessageBox.Show("No responses");
            }
            return "";
        }


public static void GetRentGames()
        {
            string resp = sendRequest("api.php/currentCustomer/rents", "GET");
            JObject jObject = JObject.Parse(resp);
            JArray Juser = (JArray)jObject["response"]["data"]["rents"];
            //Console.WriteLine(resp);
            foreach(var i in Juser)
            {
                var matchGame = ApiConnector.rentGame.Find(x => x.name == i["item"]["name"].ToString());

                if(matchGame == null)
                {
                    //name and id works just fine. it is the serial i can't get, and I think because the serial is null?
                    Console.WriteLine(i["serial"].ToString());
                    var Game = new RentGame(i["item"]["name"].ToString(), i["id"].ToString(), i["serial"].ToString());
                    rentGame.Add(Game);
                    Console.WriteLine("Add rent game " + Game.name);
                }

            }

        }

JSON文件-第一个索引:

"response":{
        "code":200,
        "status":"success",
        "data":{
            "rents":[
                {
                    "id":"34414",
                    "start_date":"2015-12-08",
                    "download_url":null,
                    "serial":null, ...
Moby磁盘

要确定该值是否为空,请执行以下操作:

            if(matchGame == null)
            {
                // Only do this if the serial is not null
                if (i["serial"].Type != JTokenType.Null)
                {
                   Console.WriteLine(i["serial"].ToString());
                   var Game = new RentGame(i["item"]["name"].ToString(), i["id"].ToString(), i["serial"].ToString());
                   rentGame.Add(Game);
                   Console.WriteLine("Add rent game " + Game.name);
            }

困难在于,JSON解析器无法将JSON中的空对象转换为C#中的空对象。(为什么?!??)相反,它使它成为JToken对象,其“类型”为“空”。

您可以在调试器窗口中看到以下内容:Visual Studio 2015监视窗口的屏幕快照“值”列显示为{},对我来说意义不大。“类型”列显示它是一个JToken对象。那么什么是JToken?好吧,如果展开,您会看到它具有很多属性:Next,Last,Parent,Path等...好的,这说明了为什么他们没有将其设置为真正的null。他们想跟踪所有其他这些东西。看起来您可以使用“ HasValues”属性或“ Type”属性来查看该事物是否为空。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果模型为空,如何处理空异常,如何在 mvc 中处理它?

来自分类Dev

如果 ExecuteScalar 为空,如何处理

来自分类Dev

如何处理JSON数据swiftUI中的`self`变量

来自分类Java

如何处理compare()中的空字段?

来自分类Dev

如何处理Kotlin中的空参数?

来自分类Dev

如何处理字节中的空值[]

来自分类Dev

如何处理可为空的Postgres JSONB数据并将其解析为JSON

来自分类Dev

在C#中处理空的Json值。在这里如何处理?

来自分类Dev

异步如何处理Javascript中的变量?

来自分类Dev

如何处理JavaScript中缺少的变量?

来自分类Dev

如何处理R中缺少的变量

来自分类Dev

如何处理bash中的变量替换?

来自分类Dev

数据库中的字段不允许为空时如何处理异常

来自分类Dev

如果模型开始为空,如何处理ngRepeat模型中的新项目

来自分类Dev

如何处理不为null的可为空的变量?

来自分类Dev

当最终参数为空时如何处理...

来自分类Dev

为空时如何处理 Mediadevices FriendlyName

来自分类Dev

如何处理JSON中的缺失数据

来自分类Dev

如何处理python中的json数据?

来自分类Dev

如何处理JSON中的特殊字符

来自分类Dev

如何处理JSON

来自分类Dev

FSharp.Data-如何处理空JSON值?

来自分类Dev

如何处理空 response.json?(Javascript)

来自分类Dev

如何处理MVC ASP.NET中“模型”类中的错误,以使用空会话变量

来自分类Dev

角度:如何处理角度材料表中的空值

来自分类Dev

如何处理 xml 中的可空值?

来自分类Dev

如何处理构造函数中的可为空参数?

来自分类Java

如何处理(也许)PreparedStatement中的空值?

来自分类PHP

在PHP中求和时如何处理空值

Related 相关文章

热门标签

归档