c# - 交换 json 对象中的节点
问题描述
我有包含以下字符串的 json 对象:
{
"id":"7081236211",
"name":"TURYSTYCZNY PLECAK WISPORT REINDEER 75L OLIVE",
"category":{
"id":"147827"
},
"parameters":[
{
"id":"11323",
"valuesIds":[
"11323_1"
],
"values":[
],
"rangeValue":null
},
{
"id":"13949",
"valuesIds":[
"13949_225446"
],
"values":[
],
"rangeValue":null
}
]
}
我想更改动态生成的这个json字符串上的“参数”节点,参数中的节点数不同:
\"parameters\": [
{
\"id\": \"11345\",
\"valuesIds\": [],
\"values\": [
\"23424\",
\"43656\"
],
\"rangeValue\": null
}]
那么我该怎么做呢?
解决方案
您可以使用 Newtonsoft.Json 库。
var obj = JsonConvert.DeserializeObject<Rootobject>(input);
var paramToAdd = JsonConvert.DeserializeObject<Parameter>(paramToAddJson);
obj.parameters.Add(paramToAdd);
var output = JsonConvert.SerializeObject(obj);
output.Dump();
public class Rootobject
{
public string id { get; set; }
public string name { get; set; }
public Category category { get; set; }
public List<Parameter> parameters { get; set; }
}
public class Category
{
public string id { get; set; }
}
public class Parameter
{
public string id { get; set; }
public string[] valuesIds { get; set; }
public string[] values { get; set; }
public object rangeValue { get; set; }
}
推荐阅读
- nativescript - 将 ios 应用程序运行到多个设备的 Nativescript Cli 6.0
- typescript - 从 TypeScript 桶索引文件导入对 Webpack v4 代码拆分/摇树有什么影响?
- python-3.x - 来自 Python 的 OpenCV 显示 JPG 和 PNG 图像的不同结果?
- python - Pygame 冻结并且对按键或尝试关闭窗口没有反应
- javascript - 是否有可能获取一个元素的 id,该元素负责使另一个元素失去焦点、内部模糊或 focusout 事件
- python - 无法从其小部件的回调中销毁 Tk 对象
- android - 为什么我的列表在重新排列项目后没有重建
- excel - 组合多个公式
- python - 如何在数据库中存储和检索 Django 会话变量?
- java - 即使遇到语句,else 语句也会继续执行