gpt4 book ai didi

c# - 在没有对象的情况下在 C# 中操作 JSON 字符串

转载 作者:行者123 更新时间:2023-11-30 21:54:18 26 4
gpt4 key购买 nike

我有从文件中读取的 JSON 字符串。我没有 JSON 对象的来源。所以我无法调用 JsonConvert.DeserializeObject

但是我想检查 JSON 字符串是否具有特定结构,如果是,则附加一些字符串,否则附加结构。

allmodules {
feature: 'test-a'
}

submodules {
//some data
}

假设没有allmodules,我想附加我的结构

allmodules {
feature: 'debug-a'
}

如果它已经可用,只需附加 feature: 'debug-a'

等等,我还有一些定制工作要做。有没有什么有效的方法可以在不破坏 JSON 格式的情况下做到这一点。大多数关于字符串到对象反序列化的问题,但是正如我提到的,我没有原始对象,也不能这样做。

最佳答案

您可以使用 JObject 并进行一些手动解析来完成此操作。它可能看起来像这样:

public string AppendAllModules(string json)
{
var obj = JObject.Parse(json);
JToken token;
if (obj.TryGetValue("allmodules", out token))
return json;

obj.Add(new JProperty("allmodules", new JObject(new JProperty("feature", "test-a"))));
return obj.ToString();
}

给定:

{
"submodules": {
"name": "yuval"
}
}

会产生:

{
"submodules": {
"name": "yuval"
},
"allmodules": {
"feature": "test-a"
}
}

关于c# - 在没有对象的情况下在 C# 中操作 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33208200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com