小编mdo*_*wes的帖子

ValueTuples在序列化时丢失其属性名称

在尝试将命名值元组序列化为JSON字符串时,它会丢失分配给项目的名称

(string type, string text) myTypes = ("A", "I am an animal");
var cnvValue = JsonConvert.SerializeObject(myTypes);
Run Code Online (Sandbox Code Playgroud)

我期待序列化值为

{"type":"A","text":"我是动物"}

但实际结果是

{"Item1":"A","Item2":"我是动物"}

我有兴趣知道两件事

  • 为什么它会像那样
  • 如何获得预期的输出

c# tuples json.net valuetuple

22
推荐指数
2
解决办法
1390
查看次数

System.IO.File 类的 WriteAllTextAsync 方法不输出大于 4kb 的文本

WriteAllTextAsync如果字符串大小超过 4kb,则AppendAllTextAsync方法无法写入字符串内容。我假设这是某种缓冲区限制,但这些方法不支持接受缓冲区大小作为参数的重载方法。我正在使用.net框架4.7.2

当使用类WriteAllText的 或AppendAllText方法时File,输出文件的长度为 254 kb,并写入整个文本,但使用Async这些方法的版本时,仅写入 4kb 的输出。

//Populate jsonString variable with a very large string
string jsonString = "placeholder for string content"; 

//Below code will output partial string till 4kb in length
File.AppendAllTextAsync("temp.json", jsonString);

//Below code outputs the entire content
File.AppendAllText("temp.json", jsonString);
Run Code Online (Sandbox Code Playgroud)

有人可以解释这种行为以及问题的解决方案吗

.net c#

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

读取 PDF 文档中的所有书签,并使用书签的页码和标题创建字典

我尝试使用 Python 和 PyPDF2 包来阅读 PDF 文档。目标是读取pdf中的所有书签,并构建一个以书签页码为键、书签标题为值的字典。

除了这篇文章之外,互联网上没有太多关于如何实现它的支持。其中发布的代码不起作用,我不是 python 专家来纠正它。PyPDF2的阅读器对象有一个名为outlines的属性,它为您提供所有书签对象的列表,但书签没有页码,并且遍历该列表并不困难,因为书签之间没有父/子关系。

我在下面分享我的代码来阅读 pdf 文档并检查轮廓属性。

import PyPDF2

reader = PyPDF2.PdfFileReader('SomeDocument.pdf')

print(reader.numPages)
print(reader.outlines[1][1])
Run Code Online (Sandbox Code Playgroud)

pypdf python-3.x

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

标签 统计

c# ×2

.net ×1

json.net ×1

pypdf ×1

python-3.x ×1

tuples ×1

valuetuple ×1