为了账号安全,请及时绑定邮箱和手机立即绑定

CheckBox,通过从Checkbox读取选定的项目,可以在Json Writer上添加多个项目

CheckBox,通过从Checkbox读取选定的项目,可以在Json Writer上添加多个项目

C#
森栏 2021-05-15 18:19:53
我有一个复选框,其中包含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();


查看完整回答
反对 回复 2021-05-23
  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信