0

我有将 Json 作为输入参数的 Webservice SOAP 方法。

//For sample
string jsonString = "[{"Year":"2020","UserId":"1","Comp":"20","DeptId":"32","CategoryId":"53","ItemId":"0"}]";

string[] processString = budget.BudgetTagNet(jsonString);

现在“budget.BudgetTagNet(jsonString)”返回前面提到的字符串数组,并且 SOAP 响应显示以下值: SOAP RESPONSE RESULT

现在我想将返回的预算数组转换为 DataTable 以进一步用于我的项目,但我做不到。实现这一目标的最佳方法是什么。我尝试过的方法如下所述。

 string jsonString = CommonEnum.DataTableToJSON(Table);
 err.Message = "Json String is : " + jsonString;
 err.Insert();

 string[] processString = budget.BudgetTagNet(jsonString);
                    err.Message = "Budget service data is : " + processString[1];
                    err.Insert();

                    var XMLAsString = CommonEnum.SerializeXML(processString[1]);
                    err.Message = "Converted XML To String data is : " + 
   JsonConvert.SerializeObject(XMLAsString);
                    err.Insert();

                    dt = (DataTable) JsonConvert.DeserializeObject(XMLAsString, (typeof(DataTable)));
                    err.Message = "DataTable data : " + JsonConvert.SerializeObject(dt);
                    err.Insert();

最后插入数据库中的数据,如上述方法是: 插入的数据库值


我该怎么做才能让它以干净的方式运行?

gpsd服务等待/dev/ttyUSB1

编辑服务:systemctl edit gpsd.service我认为它应该这样做:

[Unit]
BindsTo=dev-ttyUSB1.device
# or maybe also
After=dev-ttyUSB1.device

与您的设备完全匹配的一种真正“干净”的方法是编写 udev 规则以匹配您的设备以创建一个特殊的/dev/your_devicedev 条目,然后等待并在您的 systemd 服务中专门打开该设备。

4

1 回答 1

0

您可以使用正则表达式来解析数据:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication11
{
    class Program
    {
        static void Main(string[] args)
        {
            string input =  "{\"Budkey\":2,\"BudTitle\":\"Budget Heads\", \"Budget_Amount\":0.0,\"Engaged\":0.0,\"Balance\":0.0";
            string pattern = @"""(?'key'[^""]+)"":(?'value'\w+)";
            MatchCollection matches = Regex.Matches(input, pattern);

            foreach (Match match in matches.Cast<Match>().Select(x => x))
            {
                Console.WriteLine("Key = '{0}', Value = '{1}'", match.Groups["key"].Value, match.Groups["value"].Value);
            }
            Console.ReadLine();
 

        }
    }
 

}
于 2020-07-21T13:04:37.447 回答