- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个具有这种结构的 school.json 文件:
{
"schoolConfig": [
{
"schoolTypeCode": "C1",
"schools": [
{
"schoolId": 456,
"config": [
{
"name": "Classes",
"value": [
{
"id": 1
},
{
"id": 2
}
]
}
]
},
{
"schoolId": 123,
"config": [
{
"name": "Classes",
"value": [
{
"id": 11
}
]
}
]
}
]
},
{
"schoolTypeCode": "C2",
"schools": [
{
"schoolId":50,
"config": [
{
"name": "Classes",
"value": [
{
"id": 12
}
]
}
]
},
{
"schoolId": 10,
"config": [
{
"name": "Classes",
"value": [
{
"id": 10
}
]
}
]
}
]
}
]
}
我想附加到 JSON 文件,这将更改任何过滤结果的配置值。因此,例如,输出 JSON 将具有:
"value": [
{
"id": 1
},
{
"id": 2
}
{
"id": 5
}
]
用新的替换现有的 json 编写的 c# 代码是:
string json = File.ReadAllText(jsonFilePath);
dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(json);
JToken classes = jsonObj.SelectToken("$.schoolConfig[?(@.schoolTypeCode == 'C1')].schools[?(@.schoolId == 456)].config[?(@.name == 'Classes')]");
List<JToken> appList = classes["value"].ToList();
var itemToAdd = new JObject();
itemToAdd["id"] = 5;
appList.Add(itemToAdd);
classes["value"] = Newtonsoft.Json.JsonConvert.SerializeObject(appList).ToString();
string output = Newtonsoft.Json.JsonConvert.SerializeObject(jsonObj, Newtonsoft.Json.Formatting.Indented);
File.WriteAllText(jsonFilePath, output);
文件被修改,除了值显示在一行中(没有缩进或格式)
"value": "[{\"id\":1},{\"id\":2},{\"id\":5}]"
如何确保 JSON 文件在引号前不显示额外的反斜杠,并以正确的格式呈现,如上所述。请指教。
最佳答案
问题是您正在提取 value
来自 classes
的数组对象作为 List<JToken>
而不是 JArray
.然后将列表序列化为字符串,然后再将其添加回 classes
.如果你只是把它转换到 JArray
而不是将其转换为 List<JToken>
, 你可以修改 JArray
直接。
改变这一行:
List<JToken> appList = classes["value"].ToList();
为此:
JArray appList = (JArray)classes["value"];
并删除这一行:
classes["value"] = Newtonsoft.Json.JsonConvert.SerializeObject(appList).ToString();
关于c# - 将新对象附加到数组后,JSON 文件显示额外的反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66903242/
我有一个右下角倾斜的元素,我必须在其上放置一个盒子阴影。有时倾斜的 Angular 被徽章覆盖 - 我的问题不适用,如果是这样的话: 这是信息框及其边 Angular 的 (s)css 部分(还有更多
是否可以在纯 html/css 中创建类似下面的内容? 我想做这个响应式和全 (100%) 宽度(最大左 Angular 100 像素,右边最小 50 像素,类似的东西)。 最佳答案 您可以通过转换(
如何在 fabricjs 文本中为文本提供渐变或斜 Angular 效果?? http://fabricjs.com/fabric-intro-part-2/ 这里给出了形状和所有示例,我将其与文本绑
我用过: http://apps.eky.hk/css-triangle-generator/ 为彼此对 Angular 放置的两个不等边三 Angular 形生成 css: 左下三 Angular
我是一名优秀的程序员,十分优秀!