我正在与第三方API进行通信,该API返回JSON响应,如下所示:
"{\"SomeResponse\":{\"FIrstAttribute\":8,\"SecondAttribute\":\"On\",\"ThirdAttribute\":{\"Id\":2,\"FirstName\":\"Okkie\",\"Name\":\"Bokkie\",\"Street\":\"\",\"StreetNumber\":null,\"PostCode\":\"\",\"City\":\"\",\"Country\":\"}}}"
Run Code Online (Sandbox Code Playgroud)
它是一种JSON ......但是作为一个字符串.注意第一个和结尾的双引号,当然还有所有的转义斜杠.
目前,我通过String解决这个问题.放置反斜杠以及第一个和最后一个引号.在那之后,我能够解析它.
mystring.Replace("\\", "");
Run Code Online (Sandbox Code Playgroud)
但是,如果其中一个属性实际上有一个反斜杠作为值呢?例如:
\"SecondAttribute\":\"My Super Back Slash: \\ . That was it.\"
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我会不小心删除值中应该存在的反斜杠.
有没有人对如何正确解析这个JSON字符串有一个好主意?
我已经在类库项目中实现了log4net,如下所示:
private static readonly ILog _logger =
LogManager.GetLogger(typeof(SomeClass));
Run Code Online (Sandbox Code Playgroud)
这就是我所做的。没有配置文件或任何东西。
然后在引用该类库的项目中,我在app.config中包含一个log4net config部分:
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="FileAppender"/>
</root>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="C:/abcd.log" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
现在,可以这么说,类库项目中的log4net记录器无法从其“父”项目中读取配置。
我确定我需要更多配置,但是我不知道从哪里开始。关于stackoverflow等也有类似的问题,但是我相信他们并没有真正给出如何执行此操作的答案。
非常感谢您的帮助。
谢谢。
我正在尝试在 c#.NET 中为 ffmpeg 编写一个自定义包装器。我下载了多个版本,但似乎我将不得不使用带有 .exe 文件的版本。
ffmpeg.exe
ffplay.exe
ffprobe.exe
Run Code Online (Sandbox Code Playgroud)
但是,我无法通过添加引用 -> 浏览等来引用这些可执行文件。
所以我现在要做的只是将它们添加为文件。然后像使用命令行一样对它们运行命令。
那可能吗?或者也许有人有更好的主意?
预先感谢您的帮助。