请问有在BCB中使用JSON的吗?2个问题求解.

路过路人乙 2014-09-23 12:11:48
写了一段测试代码:
Json::Value jsTmp,jsZongs;
for(int i = 0; i < 3; i++)
{
jsTmp["ord"] = i;
jsTmp["ceshi"] = AnsiString("循环:" + IntToStr(i)).c_str();
jsZongs.append(jsTmp);
}


这样.展示出来的JSON是这样的:

[

{
"ceshi" : "循环:0",
"ord" : 0
},

{
"ceshi" : "循环:1",
"ord" : 1
},

{
"ceshi" : "循环:2",
"ord" : 2
}
]


这个时候,如何删除个item..比如删除ord=1的那组数据?

第二个问题是:JSON是无序的..是根据append的顺序加载的..如何在中间插入一条Item呢?
...全文
508 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
缘中人 2014-09-23
  • 打赏
  • 举报
回复
这个可以判断删除 ord=1的
	TJSONArray* jar = (TJSONArray*)TJSONObject::ParseJSONValue(Memo3->Text);
	jar->Count;
	for (int i = 0; i < jar->Size(); i++)
	{

		TJSONValue *jv = jar->Get(i);
		jv = ((TJSONArray*)jv)->Get(1);
		TJSONPair *jp = (TJSONPair*)jv;
		if (jp->JsonValue->Value() == "1")  //判断值
		{
			jar->Remove(i);
			break;
		}
	}
	// jar->Remove(1);
	Memo3->Text = jar->ToString();

	delete jar;
缘中人 2014-09-23
  • 打赏
  • 举报
回复
删除中间一行,这样行不
	TJSONArray* jar = (TJSONArray*)(TJSONObject*)TJSONObject::ParseJSONValue(Memo3->Text);
	jar->Count;
	jar->Remove(1);
	jar->Count;
	Memo3->Text = jar->ToString();

	delete jar;

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧