小编Gon*_*ioz的帖子

如何安全地将包含转义JSON的字符串转换为有效的JSON?

我正在与第三方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字符串有一个好主意?

.net c# string json

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

在使用/父项目中指定要在类库中使用的log4net配置

我已经在类库项目中实现了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# dll log4net

3
推荐指数
1
解决办法
5327
查看次数

在 C#.NET 项目中使用 (ffmpeg) 可执行文件

我正在尝试在 c#.NET 中为 ffmpeg 编写一个自定义包装器。我下载了多个版本,但似乎我将不得不使用带有 .exe 文件的版本。

ffmpeg.exe
ffplay.exe
ffprobe.exe
Run Code Online (Sandbox Code Playgroud)

但是,我无法通过添加引用 -> 浏览等来引用这些可执行文件。

所以我现在要做的只是将它们添加为文件。然后像使用命令行一样对它们运行命令。

那可能吗?或者也许有人有更好的主意?

预先感谢您的帮助。

.net c# exe ffmpeg reference

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

标签 统计

c# ×3

.net ×2

dll ×1

exe ×1

ffmpeg ×1

json ×1

log4net ×1

reference ×1

string ×1