如何用简单的方式将数组转成json

在工作中,我们时常会遇到需要将数组形式的[{id:1,name:'ming'},{id:2,name:'daming'}]转换成

{1: {id:1,name:'ming'}, 2: {id:2,name:'daming'}} 形式的json的情况,有没有比较简便的方法?这里记录自己找到的一种方法:

const students = [{id:1,name:'ming'},{id:2,name:'daming'}]

const oStudents = students.reduce((obj, item) => {
        obj[item.goodsId] = true;
        return obj;
      }, {});
     

这里利用了累加器reduce,reduce 回调参数中的obj是每次累加的结果,这里我们将初始值赋值成一个{}对象,每次循环往obj中赋值。

在Unity中使用LitJSON库处理JSON数据时,如果需要将JSON数组转换为JSON对象,可以通过 `JsonMapper.ToObject` 方法实现。该方法能够将一个JSON格式的字符串解析为对应的对象实例。 假设有一个JSON数组字符串如下: ```json [ { "id": 1, "name": "Alice" }, { "id": 2, "name": "Bob" } ] ``` 此数组包含多个对象,每个对象都有 `id` 和 `name` 字段。可以定义一个对应的C#类来表示这些数据,并通过 `JsonMapper.ToObject` 将其转换为对象数组或列表。 ### 定义类 首先,定义一个类来匹配JSON结构: ```csharp public class Person { public int id; public string name; } ``` ### 转换JSON数组到对象数组 接下来,使用 `JsonMapper.ToObject` 方法将JSON字符串转换为对象数组: ```csharp string jsonArray = "[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"}]"; Person[] people = JsonMapper.ToObject<Person[]>(jsonArray); foreach (Person person in people) { Debug.Log("ID: " + person.id + ", Name: " + person.name); } ``` 上述代码将JSON数组转换为 `Person` 对象数组,并通过 `foreach` 循环遍历输出每个对象的属性[^2]。 ### 转换JSON数组到对象列表 如果希望将JSON数组转换为 `List<T>` 类型,也可以直接进行转换: ```csharp List<Person> personList = JsonMapper.ToObject<List<Person>>(jsonArray); foreach (Person person in personList) { Debug.Log("ID: " + person.id + ", Name: " + person.name); } ``` 这种方式适用于需要动态管理对象集合的场景,提供了更灵活的数据操作能力[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值