我试图遍历JSON对象列表并将它们转换为索引的JSON。
以下是我写的代码:
private string ItemsAsJson(List<string> jsonItemList)
{
string ItemAsJson = "";
for (int i = 0; i < jsonItemList.Count; i++)
{
string index = i.ToString();
ItemAsJson += "{ " + index + " : " + jsonItemList[i] + "},";
}
return ItemAsJson;
}
但是我得到的对象如下:
{
0: {
"item_type": "Batch",
"item_id": "82",
"bill_item_name": "A TO Z",
"quantity": "1",
"inventory_id": "82",
"individual_price": "2.90",
"batch_no": "",
如何将上述文本中的0转换为字符串(“0”)?
答案 0 :(得分:-1)
最好的答案是使用JSON解析器库,如Json.NET,而不是手动解析JSON。
如果由于某种原因决定继续使用您的方法,您可以通过转义字符串中的引用来添加索引号周围的引号,如\"
:
private string ItemsAsJson(List<string> jsonItemList)
{
string ItemAsJson = "";
for (int i = 0; i < jsonItemList.Count; i++)
{
string index = i.ToString();
ItemAsJson += "{ \"" + index + "\": " + jsonItemList[i] + "},";
}
return ItemAsJson;
}
另外,如果您要构建这样的字符串,我建议您使用StringBuilder
代替+=
:
private string ItemsAsJson(List<string> jsonItemList)
{
StringBuilder builder = new StringBuilder();
for (int i = 0; i < jsonItemList.Count; i++)
{
builder.Append("{ \"");
builder.Append(i);
builder.Append("\":");
builder.Append(jsonItemList[i]);
builder.Append("},");
}
return builder.ToString();
}