分润宝专注开发分润系统、支付联盟系统、共享店铺系统、共享股东系统!
全国服务热线0592-5519259 QQ咨询 微信咨询

分润宝客服

分润宝客服

微信客服

客服微信号

15959224512

  • POS支付联盟系统
  • 门店拓客分红系统
  • 分销系统小程序开发
  • POS支付联盟系统
  • 门店拓客分红系统
  • 分销系统小程序开发

分润宝 > 常见问题 > 技术文档

补全json中string类型字段值的后面少掉的双引号

static void Main(string[] args)
        {
            var str = File.ReadAllText("a.txt");
            var json = HandleJsonQuotes(str);
            var globalTicket = JsonConvert.DeserializeAnonymousType(json, new { globalTicket = "" });
            Console.WriteLine(globalTicket);
            Console.Read();
        }

        /// <summary>
        /// 补全json中string类型字段值的后面少掉的双引号
        /// </summary>
        /// <param name="json">待处理json字符串</param>
        /// <returns>补全引号后的json</returns>
        public static string HandleJsonQuotes(string json)
        {

            bool isStr = false;
            for (int i = 0; i < json.Length; i++)
            {
                if (json[i] == '\"')
                {

                    for (int j = i + 1; j < json.Length; j++)
                    {
                        if (isStr)
                        {
                            if (json[j].ToString().IndexOfAny(new[] { ',', '}', ']' }) != -1)
                            {
                                if (json[j - 1] != '"')
                                {
                                    if (json[j + 1].ToString().IndexOfAny(new[] { '\"', '}', ']', ',' }) != -1)
                                    {

                                        Console.WriteLine($"error string i:{i},j:{j},near string: {json.Substring(j - 20, 40)}");
                                        json = json.Insert(j, "\"");
                                    }
                                }
                                else
                                {
                                    if (json[j - 2] == ':')
                                    {
                                        Console.WriteLine($"error empty string i:{i},j:{j},near string: {json.Substring(j - 20, 40)}");
                                        json = json.Insert(j, "\"");
                                    }
                                }
                                i = j + 1;
                                isStr = false;
                                break;
                            }

                        }

                        if (json[j] == '"')
                        {
                            if (json[j + 1] == ':')
                            {
                                if (json[j + 2] == '\"')
                                {
                                    isStr = true;
                                }
                                else
                                {
                                    isStr = false;
                                }

                            }
                            i = j + 1;
                            break;
                        }
                    }
                }


            }
            return json;
        }

POS联盟系统开发

分润宝是一家互联网软件开发公司,主营分润管理系统支付联盟系统共享股东分红系统开发,专注各种模式的分润系统开发,如果您有分润分红相关系统需求就来找分润宝。

如果没有解决您的问题,请立即联系客服

分润宝,拓客引流系统

扫一扫添加老师

微信号:15959224512

点击复制微信号

我想了解详细方案

936986 用户已提交咨询

声明:文章"补全json中string类型字段值的后面少掉的双引号"部分内容源于网络,如有涉及侵权请联系处理,谢谢合作!

分润宝公众号

客服

微信客服

置顶
联系我~免费为你提供模式策划