我有一个复选框,其中包含7个可以检查和使用的不同选项,可以防止它们像range_close和component_type_stock,component_type_lostech之类的东西出现。我现在正在尝试通过JSON编写器将它们写入json文件,但是如果我使用writer.WritePropertyName("ComponentTags");writer.WriteStartObject();writer.WritePropertyName("items"); writer.WriteRawValue(ComponentTagsCheckBox.CheckedItems.ToString());我所得到的是"ComponentTags": {"items": System.Windows.Forms.CheckedListBox+CheckedItemCollection,当我在复选框中标记了range_extreme和component_type_lostech复选框时。我已经尝试通过替换前面代码片段的最后一行来使用for循环string s = "";for (int x = 0; x <= ComponentTagsCheckBox.CheckedItems.Count - 1; x++) {s = s + ComponentTagsCheckBox.CheckedItems[x].ToString(); //+ "\n"; } writer.WriteRawValue("["+ s +"]");这里的输出至少是"ComponentTags": {"items": [component_type_lostechrange_extreme],"tagSetSourceFile": ""}但是输出应该是这样"ComponentTags" : {"items" : ["component_type_variant","component_type_variant2", "range_extreme"],"tagSetSourceFile" : ""只要组件之间用分号分隔并用“”括起来,我就可以不用最后一个片段。我也有一个想法,将字符串拆分成一个数组,然后再次将其分离,但这似乎有点麻烦。
1 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
您应按如下所示更改最后一行:
writer.WriteStartArray();
foreach (var item in ComponentTagsCheckBox.CheckedItems)
{
writer.WriteValue(item.ToString());
}
writer.WriteEnd();
- 1 回答
- 0 关注
- 132 浏览
添加回答
举报
0/150
提交
取消