Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将两个不同内容的文件合并为json对象_C#_Python 3.x_Git_Gitlab_Merge File - Fatal编程技术网

C# 如何将两个不同内容的文件合并为json对象

C# 如何将两个不同内容的文件合并为json对象,c#,python-3.x,git,gitlab,merge-file,C#,Python 3.x,Git,Gitlab,Merge File,我正在尝试将这两个文件内容合并到一个新文件中。我已经将左侧和右侧内容作为带有行号和行内容的JSON对象 例如,我想选择左侧部分,合并后将右侧部分保留在新文件中。因为行号不同。我们将如何添加第214行的左侧内容 我想要的只是一个最终的JSON对象,它用行号捕获合并决策。一旦我得到合并JSON。我将使用任何编程语言来创建一个新文件和这些更改 注意:合并时,我将以正确的文件作为主要引用。我将复制右侧文件,并在选中时添加左侧内容。as,您显示的是XML,而不是JSON(编码为文本)。这没什么大不了的:两

我正在尝试将这两个文件内容合并到一个新文件中。我已经将左侧和右侧内容作为带有行号和行内容的JSON对象

例如,我想选择左侧部分,合并后将右侧部分保留在新文件中。因为行号不同。我们将如何添加第214行的左侧内容

我想要的只是一个最终的JSON对象,它用行号捕获合并决策。一旦我得到合并JSON。我将使用任何编程语言来创建一个新文件和这些更改

注意:合并时,我将以正确的文件作为主要引用。我将复制右侧文件,并在选中时添加左侧内容。

as,您显示的是XML,而不是JSON(编码为文本)。这没什么大不了的:两者都只是提供了编码树结构数据的方法

Git对此一无所知。Git的合并代码将文件视为(文本的)行。这没关系,因为您计划自己进行合并(使用代码、手动或其他方式)

请注意,区分或合并树结构数据,无论其编码如何,本质上都很复杂。它不应该使用行号。它可能会看到子树是否匹配,如果是,则考虑它们移动,即使它们已经改变深度。 如果您自己完成了合并,并且结果应该用文本编码,那么就用文本编码,并将其插入其中,然后将结果作为文本文件提供给Git。所有的
git merge
需要的是最终的文本文件。合并的输入是三个文本文件,一个来自合并基提交,第二个来自当前提交,第三个来自正在合并的另一个提交,Git需要的是一个新的文本文件

因此,将合并结果编码为文本,就基本完成了:将其写入适当的文件(或适当文件的适当部分),并告诉Git这是合并的正确结果。换句话说,写出结果并运行git add path/to/file

注意:合并时,我将以正确的文件作为主要引用。我将复制右侧文件,并在选中时添加左侧内容


合并有三个输入。没有“左和右”:有合并基地、我们的基地和他们的基地。从基地到我们基地的三角洲代表了我们所改变的。从基地到他们的三角洲代表了他们改变了什么。您的工作是合并这些更改。

我在上面的屏幕截图中没有看到任何JSON。JSON是如何出现在这张图片中的?我看到的只是XML。到目前为止,您尝试了什么?文件内容不重要。尽管这是一个xml文件,但这种差异在带有行号和行内容的json文件中保持。{left_content:[{line_number:202,line:“asdfhjasdf”}]……感谢您的解释。我正在比较两个没有索引的随机文件。(git--no index file1 file2),我得到的统一输出被分析并转换为JSON结构。{{left_content:[{linenumber:“202”,line:“jkhfkajsdfh”,changeType:“ADDED”}),右_内容:[{行号:“215”,行:“hkajsdfhkajs”,变更类型:“添加”}]})我想合并左右内容。我知道这是一种奇怪的方法来计算差异并合并两个文件。如果有更好的方法可以找到差异并合并它们。请确实共享它们。使用一个差异并用它做一些事情不是合并,它只是应用一个差异。请不要称之为合并…好的。我会的我的意思是,我将创建右侧的副本并应用差异,最终输出是两者的合并。左侧或右侧版本是从我稍后提供的UI中选择的。