小编Bri*_*ers的帖子

如何使我的服务停止自动发布到Windows应用程序事件日志中

我刚刚使用Windows服务项目模板在Visual Studio中创建了一个Windows服务应用程序.当我安装并运行该服务时,我注意到它会自动将某些事件记录到Windows应用程序事件日志中.例如:

服务已成功启动.

要么

PowerEvent由服务成功处理.

我打算用更详细的方式实现我自己的事件记录,因此这些自动生成的消息最终会成为额外的"噪音",我不想让日志混乱.有没有办法阻止服务将默认消息写入事件日志?

.net c# windows service visual-studio-2010

2
推荐指数
1
解决办法
2458
查看次数

01208在python中有特殊含义还是只是python2.6.2的bug?

在python运行时环境中,尝试以下方法:

>> *type(01207)*
Run Code Online (Sandbox Code Playgroud)

你会得到:

<type 'int'>
Run Code Online (Sandbox Code Playgroud)

然后尝试:

>> *type(01208)*
Run Code Online (Sandbox Code Playgroud)

你会得到:

File "<stdin>", line 1
type(01208)
         ^
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
1
解决办法
92
查看次数

无法反序列化包含$ ref键的JSON

我有以下代码尝试反序列化JSON字符串,该库给我这个错误:

在JSON参考对象中找到的其他内容.JSON引用对象应该只有$ ref属性.路径'user.obj',第1行,第34位.

知道什么是错的吗?(我知道它正在抱怨第二个$ ref,但我不知道为什么.)解决方法是什么?

void Main()
{
    var s = "{\"user\": {\"$ref\": \"123456\", \"obj\": {\"$ref\": \"123456\"}}}";
    JsonConvert.DeserializeObject<Root>(s).Dump();
}

// Define other methods and classes here
public class Root
{
    [JsonProperty("user")]
    public User User { get; set; }
}

public class User
{
    [JsonPropertyAttribute("$ref")]
    public string Ref { get; set; }

    [JsonPropertyAttribute("obj")]
    public Obj Obj { get; set; }
}

public class Obj
{
    [JsonPropertyAttribute("$ref")]
    public string Ref { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# json json.net

2
推荐指数
1
解决办法
1969
查看次数

如何使用动态属性名称反序列化JSON对象?

这是我从远程服务器获取的JSON ....如何为此创建C#对象?

{
    "payload":
    {
        "one":
        {
            "x": 1
        },
        "two":
        {
            "x": 2
        },
        "three":
        {
            "x": 3
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

http://json2csharp.com/创建了三个类型"one","two"和"three"......但这些是动态值.我可能会在下一个请求中得到"四个","五个","六个"

c# json

2
推荐指数
1
解决办法
2571
查看次数

反序列化部分JSON对象并将其序列化,其余属性保持不变

我有一些JSON,我想反序列化为C#类的实例.但是,该类没有与原始JSON匹配的所有字段/属性.我希望能够修改类中的属性值,然后将其序列化为JSON,其余字段和原始JSON中的属性仍然完好无损.

例如,假设我有以下JSON:

{
    "name": "david",
    "age": 100,
    "sex": "M",
    "address": "far far away"
}
Run Code Online (Sandbox Code Playgroud)

我想将它反序列化为这个类:

class MyClass 
{  
    public string name { get; set; }  
    public int age { get; set; }  
}
Run Code Online (Sandbox Code Playgroud)

反序列化后,我设置以下内容:

myClass.name = "John";
myClass.age = 200;
Run Code Online (Sandbox Code Playgroud)

现在,我想将它序列化为JSON并获得此结果:

{
    "name": "John",
    "age": 200,
    "sex": "M",
    "address": "far far away"
}
Run Code Online (Sandbox Code Playgroud)

有没有办法使用Json.Net做到这一点?

c# json.net

2
推荐指数
1
解决办法
3028
查看次数

首先使用C#Json.NET对带有变量名的Json数组进行反序列化

我从人口普查局的公共场所获得了一个不规则的JSON阵列.变量名都在第一个元素中,我无法反序列化它.

http://api.census.gov/data/2014/pep/agesex?get=AGE,POP,SEX&for=us:*&DATE=7

给我这样的JSON:

[["AGE","POP","SEX","DATE","us"],
["0","3948350","0","7","1"],
["1","3962123","0","7","1"],
["2","3957772","0","7","1"],
["3","4005190","0","7","1"],
["4","4003448","0","7","1"],
["5","4004858","0","7","1"],
["6","4134352","0","7","1"],
["7","4154000","0","7","1"]]
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法成功反序列化:

var test1 = JsonConvert.DeserializeObject<String[][]>(jsonStr);
Run Code Online (Sandbox Code Playgroud)

但是,我试图将它反序列化为这样的类:

public class TestClass
{
    public string AGE { get; set; }
    public string POP { get; set; }
    public string SEX { get; set; }
    public string DATE { get; set; }
    public string us { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试这样做:

var test2 = JsonConvert.DeserializeObject<TestClass[]>(jsonStr);
Run Code Online (Sandbox Code Playgroud)

但我得到以下异常:

Newtonsoft.Json.dll中出现"Newtonsoft.Json.JsonSerializationException"类型的异常,但未在用户代码中处理

附加信息:无法创建和填充列表类型TestClass.路径'[0]',第1行,第2位.

c# serialization json json.net

2
推荐指数
1
解决办法
2217
查看次数

有没有办法装饰int属性,以便将其序列化为字符串?

是否可以为类型为int的类的属性创建装饰器,以便将其序列化为字符串?

我有

    public class MyClass
    {
        [SerializeAsString] //this is what I want
        public int StreetCode { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

所以当我打电话

var jsonRequest = JsonConvert.SerializeObject(myClass);
Run Code Online (Sandbox Code Playgroud)

我希望它输出引号之间的值,而不是不带引号的int值。

c# asp.net serialization json json.net

2
推荐指数
1
解决办法
1262
查看次数

尝试使用NPOI编辑现有Excel文件的单元格值

我编写了以下代码来使用C#和NPOI库编辑Excel文件.没有错误,但是在我打开文件后运行代码后,不会编辑单元格的值.我究竟做错了什么?

namespace Project37
{
    class Class1
    {
        public static void Main()
        {
            string pathSource = @"C:\Users\mvmurthy\Downloads\VOExportTemplate.xlsx";

            FileStream fs = new FileStream(pathSource, FileMode.Open, FileAccess.ReadWrite); 
            HSSFWorkbook templateWorkbook = new HSSFWorkbook(fs, true);
            HSSFSheet sheet = (HSSFSheet)templateWorkbook.GetSheet("ImportTemplate");
            HSSFRow dataRow = (HSSFRow)sheet.GetRow(4);

            dataRow.GetCell(1).SetCellValue("foo");

            MemoryStream ms = new MemoryStream();
            templateWorkbook.Write(ms);
        }     
    }
}
Run Code Online (Sandbox Code Playgroud)

c# excel npoi

2
推荐指数
1
解决办法
3541
查看次数

使用 RestSharp 将 JSON 反序列化为对象或数组

我正在从事 Xamarin 项目。基本上,我想从 API 接收数据并显示它。为此,我正在使用 RestSharp。

这是我的 API 请求代码。

string test;
test = "yAHO0SsAmjJi1qTZGcK3sMHHIhWTN4Yq";
string s = string.Format("http://192.168.1.4:3116/api/user/getuser/{0}", test);

client = new RestClient(s);
request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Content-Type", "application/json");
IRestResponse response2 = client.Execute(request);
Run Code Online (Sandbox Code Playgroud)

这是我收到的 JSON 对象。

{
    "id": 1,
    "token": "yAHO0SsAmjJi1qTZGcK3sMHHIhWTN4Yq",
    "email": "some email",
    "password": "testpassword",
    "currentCompany": "some company",
    "currentRole": "Software Developer",
    "date": "Something",
    "name": "Some name",
    "lastName": "Some surname",
    "headLine": "Some text",
    "education": "University of Hotshots",
    "country": "Who cares",
    "imageLocation": "Some url"
}
Run Code Online (Sandbox Code Playgroud)

这是我使用网站为它创建的类:json2csharp.com/

class User
{ …
Run Code Online (Sandbox Code Playgroud)

c# json restsharp

2
推荐指数
1
解决办法
1万
查看次数

如何从 JArray 中选择元素的值

我在使用 C#(VS 2017,.Net 4.6)代码时遇到了一些麻烦。如果有人能帮忙就好了。我有一个 JSON 文件:

{
  "makerCommission": 10,
  "takerCommission": 10,
  "buyerCommission": 0,
  "updateTime": 1540015045989,
  "balances": [
    {
      "asset": "BTC",
      "free": "0.22222222",
      "locked": "0.00000000"
    },
    {
      "asset": "LTC",
      "free": "2.00000000",
      "locked": "3.00000000"
    },
    {
      "asset": "ETH",
      "free": "4.00000000",
      "locked": "5.00000000"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想使用以下方法检索任何硬币的“免费”价值:

result = (dynamic)JArray.Parse(MyData)
Run Code Online (Sandbox Code Playgroud)

我不想检索所有免费值。如果我选择 BTC,我怎样才能得到 0.22222222?

c# json json.net

2
推荐指数
1
解决办法
8452
查看次数