對象轉成map

一、對象轉成數組

對象轉成數組是最常見的一種數據類型轉換,在JavaScript中可以使用Object.entries()或Object.values()方法將對象轉成數組。

const obj = { a: '1', b: '2', c: '3' };
const arr1 = Object.entries(obj); // 輸出結果:[ ["a", "1"], ["b", "2"], ["c", "3"] ]
const arr2 = Object.values(obj);  // 輸出結果:[ "1", "2", "3" ]

可以看到,Object.entries()方法將對象的鍵值對轉成了數組的元素,而Object.values()方法直接將對象的屬性值轉成了數組的元素。這兩種方法都只會轉換對象自身可枚舉屬性,不包括繼承屬性和Symbol類型的屬性。

二、對象轉成數組js

在JavaScript的語法規範中,對象和數組都是一種基本數據類型,因此可以直接將對象轉換為數組。
代碼如下:

const obj = { a: '1', b: '2', c: '3' };
const arr = [obj];

上面的代碼將obj對象轉換為包含一個元素的數組,可用於Ajax的POST請求以及參數的傳遞等場景。

三、對象轉成list

在Java的開發中經常用到的一種數據結構是List,我們可以通過將對象轉成List來使用List中提供的操作方法。Java中有很多實現List接口的類,如ArrayList、LinkedList等,這裡我們以ArrayList為例來演示:

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class ObjectToListTest {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<>();
        map.put("a", "1");
        map.put("b", "2");
        map.put("c", "3");

        List<String> list = new ArrayList<>(map.values());
        for (String value : list) {
            System.out.println(value);
        }
    }
}

上述代碼中,我們首先創建了一個Map對象,並向其中添加了三組鍵值對。接着,我們使用map.values()方法提取Map對象的屬性值,並將其存放到一個ArrayList對象中。最後,我們使用for-each循環遍歷ArrayList並輸出其中的元素。

四、對象轉成json

將對象轉換為JSON字符串是一種非常常見的數據類型轉換操作。在JavaScript中可以使用JSON.stringify()方法將對象轉換為JSON字符串。

const obj = { a: '1', b: '2', c: '3' };
const json = JSON.stringify(obj); // 輸出結果:{"a":"1","b":"2","c":"3"}

需要注意的是,因為JSON字符串的格式要求很嚴格,所以在對象的屬性名和屬性值中不要包含任何非法字符。

五、對象轉成數組的方法

除了前面提到的Object.entries()和Object.values()方法外,還有一些其他的方法可以將對象轉換為數組。

① 使用數組的結構賦值方法:

const obj = { a: '1', b: '2', c: '3' };
const arr = [...Object.entries(obj)]; // 輸出結果:[ ["a", "1"], ["b", "2"], ["c", "3"] ]

② 使用Array.from()方法:

const obj = { a: '1', b: '2', c: '3' };
const arr = Array.from(Object.entries(obj)); // 輸出結果:[ ["a", "1"], ["b", "2"], ["c", "3"] ]

③ 使用Object.keys()方法配合map()方法:

const obj = { a: '1', b: '2', c: '3' };
const arr = Object.keys(obj).map(key => [key, obj[key]]); // 輸出結果:[ ["a", "1"], ["b", "2"], ["c", "3"] ]

六、對象轉成字符串

除了將對象轉換為JSON格式的字符串以外,我們還可以通過一些簡單的方法將對象轉換為字符串。

① 使用模板字符串或字符串拼接方法:

const obj = { a: '1', b: '2', c: '3' };
const str1 = `a=${obj.a}, b=${obj.b}, c=${obj.c}`; // 輸出結果:a=1, b=2, c=3
const str2 = "a=" + obj.a + ", b=" + obj.b + ", c=" + obj.c; // 輸出結果:a=1, b=2, c=3

② 使用字符串的replace()方法:

const obj = { a: '1', b: '2', c: '3' };
const str = JSON.stringify(obj).replace(/[{\}"']/g, "")

上述代碼使用了replace()方法,並使用正則表達式將生成的JSON字符串中包含的字符'{”}”””和單引號去掉,得到了我們所需的鍵值對字符串。

七、對象轉成JSON字符串

在Java開發中,我們經常需要將Java對象轉換為JSON字符串,這時候我們可以使用第三方的JSON處理工具,如FastJson、Gson等,這裡我們以FastJson為例。

import com.alibaba.fastjson.JSONObject;

public class ObjectToJsonTest {
    public static void main(String[] args) {
        User user = new User("John", "Doe", 28);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", user.getName());
        jsonObject.put("lastName", user.getLastName());
        jsonObject.put("age", user.getAge());
        String jsonStr = jsonObject.toJSONString();
        System.out.println(jsonStr);
    }
}

class User {
    private String name;
    private String lastName;
    private int age;

    public User(String name, String lastName, int age) {
        this.name = name;
        this.lastName = lastName;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public String getLastName() {
        return lastName;
    }

    public int getAge() {
        return age;
    }
}

上述代碼中,我們首先獲取了一個User對象,並以該對象為數據源生成了一個JSONObject對象。接着,我們使用toJSONString()方法將JSONObject對象轉換為JSON字符串。

八、對象轉成JSONObject

在Java開發中,我們也可以直接將Java對象轉換為JSON對象。使用FastJson的JSON.parseObject()方法即可實現。

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

public class ObjectToJSONObjectTest {
    public static void main(String[] args) {
        String jsonStr = "{\"name\":\"John\",\"lastName\":\"Doe\",\"age\":28}";
        JSONObject jsonObject = JSON.parseObject(jsonStr);
        System.out.println(jsonObject.get("name"));
        System.out.println(jsonObject.get("lastName"));
        System.out.println(jsonObject.get("age"));
    }
}

上述代碼中,我們首先將一個JSON格式的字符串jsonStr轉換為了JSONObject對象,並輸出了其中的鍵值信息。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/186512.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-27 05:46
下一篇 2024-11-27 05:46

相關推薦

  • 面向對象編程、類和對象

    面向對象編程(Object-Oriented Programming, OOP)是一種編程方法,它將現實世界中的事物抽象為對象(Object),對象的屬性和方法被封裝成類(Clas…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Mapster:一個高性能的對象映射庫

    本文將深入介紹furion.extras.objectmapper.mapster,一個高性能的對象映射庫,解釋它是如何工作的以及如何在你的項目中使用它。 一、輕鬆地實現對象之間的…

    編程 2025-04-28
  • Python返回對象類型

    Python是一種動態、解釋型、高級編程語言。Python是一種面向對象的語言,即所有的一切都是一個對象。 一、基本類型 Python中的基本類型有整數int、浮點數float、布…

    編程 2025-04-28
  • Python中通過對象不能調用類方法和靜態方法的解析

    當我們在使用Python編寫程序時,可能會遇到通過對象調用類方法和靜態方法失敗的問題,那麼這是為什麼呢?接下來,我們將從多個方面對這個問題進行詳細解析。 一、類方法和靜態方法的定義…

    編程 2025-04-27
  • Python內置函數——查看對象內存

    本文將介紹Python內置函數中,在開發中查看對象內存的相關函數。 一、id()函數 id()函數是Python內置函數,用於返回對象的唯一標識符,也就是對象在內存中的地址。 nu…

    編程 2025-04-27
  • 解決ERP運行時錯誤429:ActiveX不能創建對象 DAO350

    ERP運行時錯誤429是由於“ActiveX不能創建對象”而引發的。這種錯誤通常是由於您在嘗試訪問Microsoft Access數據庫時缺少了必要的組件。 一、安裝並註冊DAO庫…

    編程 2025-04-27
  • forof遍歷對象的詳細闡述

    forof是一種ES6的語法糖,用於遍歷可迭代對象。相較於傳統的for循環和forEach方法,forof更加簡潔、易讀,並且可以遍歷各種類型的數據。 一、基本語法 forof的基…

    編程 2025-04-25
  • JavaScript 數組轉成字符串

    一、數組轉成字符串的基本操作 在 JS 中,將數組轉成字符串是一項最基本但也最常見的操作之一。我們可以使用 Array 類型內置的 join() 方法實現。它將數組的元素連接成一個…

    編程 2025-04-25
  • Vue數組添加對象詳解

    在Vue框架下,我們經常需要用到對數組添加新的對象的功能,在本篇文章中,我們將從以下幾個方面對Vue數組添加對象做詳盡的說明。 一、通過unshift和push方法添加對象 Vue…

    編程 2025-04-25

發表回復

登錄後才能評論