猿问

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

我有一个复选框,其中包含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" : ""

只要组件之间用分号分隔并用“”括起来,我就可以不用最后一个片段。


我也有一个想法,将字符串拆分成一个数组,然后再次将其分离,但这似乎有点麻烦。


森栏
浏览 133回答 1
1回答

炎炎设计

您应按如下所示更改最后一行:writer.WriteStartArray();foreach (var item in ComponentTagsCheckBox.CheckedItems){&nbsp; &nbsp; writer.WriteValue(item.ToString());}writer.WriteEnd();
随时随地看视频慕课网APP
我要回答