怎么将json对象添加进json数组中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么将json对象添加进json数组中相关的知识,希望对你有一定的参考价值。

1、使用原生的解析:
String json = "...";
JSONArray array= new JSONArray(json);
//遍历数组里的值,得到每个独立的对象,然后获取对应的值设置到声明好的对象中,最终创建对象完成后添加到集合中,如我自己代码里的片段:
for (int j = 0; j < array.length(); j++)
obj = array.getJSONObject(j);
Data data = new Data();
data.setThumbnail(obj.getString("thumbnail"));
data.setTitle(obj.getString("title"));
data.setUrl(obj.getString("url"));
mDataList.add(data);


2、使用第三方包如Gson,但是这个你得保证你的JSON字符串个z
参考技术A 使用哪样的框架?
或者 JSON的结构是如何,可以直接拼装起来

怎么删除json数据里的元素

var aa = ;

aa["cc"] = json1;
aa["bb"] = json2;
aa["kk"] = json3;

json1 json2 json3 皆为json对象
我现在想删除 json2 里面的 某个数据 我该怎么删除

希望详细点 splice delete 都试过 不知道怎么就是删不了 还是我本来向aa对象里添加数据的方式错了
aa.push(json1); 这样写还报错
希望方法写详细点 谢谢

参考方法就是先把文件读出来,把不要的数组元素删了后再写回去;
参考代码如下:
// std::string jsonPath // json文件路径
Json::Reader reader;
Json::Value root;

ifstream is;
is.open (jsonPath.c_str(), std::ios::binary );
if (reader.parse(is, root))

std::string code;
Json::Value value;
int size = root.size();
for (int i = 0; i < size; i++)

if(条件)

value[i] = root[i];


is.close();

Json::FastWriter writer;
std::string json_append_file = writer.write(value);

std::ofstream ofs;
ofs.open(jsonPath.c_str());
ofs << json_append_file;
ofs.close();
参考技术A 你的aa可以认为是对象,可以直接赋值
删除对象中的属性 delete 要删除的属性名即可
参考技术B delete aa.bb.prop;追问

json2 我是想删除它里面的对象额

而不是整个删除掉啊

追答

aa.bb是json2,
prop改成你要删除的属性名

追问

delete aa["" + tt + ""][index];
json2 = ["ccc":123,"ddd":55]
我是想把"ccc":123他给删除掉
上面写的有什么问题么
tt="bb" 因为更本不确定会对那个操作

追答// 删除数组元素
var tt = 'bb';
var index = 0;
aa[tt].splice(index, 1);

本回答被提问者采纳

以上是关于怎么将json对象添加进json数组中的主要内容,如果未能解决你的问题,请参考以下文章

怎么把json字符串转成数组对象

java中把json怎么转换成数组

如何使用 json.net 将 json 数组添加到 JObject 的属性中

java中把json怎么转换成数组?

怎么将数组转为json

js中如何向json数组添加元素