# Read a Move Table object by using Typescript SDK

**URL:** <https://forums.sui.io/t/read-a-move-table-object-by-using-typescript-sdk/44999>\
**Category:** SDK\
**Created:** [September 19, 2023, 3:11pm UTC](https://forums.sui.io/t/read-a-move-table-object-by-using-typescript-sdk/44999 "2023-09-19T15:11:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![teohaik](https://dub1.discourse-cdn.com/sui/user_avatar/forums.sui.io/teohaik/32/30531_2.png) [@teohaik](https://forums.sui.io/u/teohaik)\
**Post date:** [September 19, 2023, 3:11pm UTC](https://forums.sui.io/t/read-a-move-table-object-by-using-typescript-sdk/44999/1 "2023-09-19T15:11:49Z")

</div>

This is triggered by a discord question from member crazybit [here](https://discord.com/channels/916379725201563759/1153344434939904041).

## _How can we get the rows of a Move Table by using the Typescript SDK?_

ANSWER:

Table is the field `pools` of the `ClmmPools` object [here](https://suiexplorer.com/object/0x15b6a27dd9ae03eb455aba03b39e29aad74abd3757b8e18c0755651b2ae5b71e?network=mainnet).  
So  
Table ID = _0x37f60eb2d9d227949b95da8fea810db3c32d1e1fa8ed87434fc51664f87d83cb_

We need to utilize `getDynamicFields` for this:

```auto
import {getFullnodeUrl, SuiClient, SuiParsedData} from "@mysten/sui.js/client";
import {SuiMoveObject} from "@mysten/sui.js";

const client = new SuiClient({
    url: getFullnodeUrl("mainnet"),
});

const readTable = async function (tableId: string) {
    client.getDynamicFields({parentId: tableId}).then(dynamicFieldPage => {

        const resultData = dynamicFieldPage.data;

        resultData?.forEach(tableRowResult => {
            const poolId = tableRowResult.objectId;
            client.getObject({
                id: poolId,
                options: {showContent: true}
            }).then(dynFieldForPool => {
                const poolFields = (dynFieldForPool.data.content as SuiMoveObject).fields.value.fields;
                console.log("Dynamic Field id = ",dynFieldForPool.data.objectId);
                console.log("pool_address: ",poolFields["pool_address"]);
                console.log("is_closed: ",poolFields["is_closed"]);
                console.log("is_show_rewarder: ",poolFields["is_closed"]);
                console.log("project_url: ",poolFields["project_url"]);
                console.log("show_rewarder_1: ",poolFields["show_rewarder_1"]);
                console.log("show_rewarder_2: ",poolFields["show_rewarder_2"]);
                console.log("show_rewarder_3: ",poolFields["show_rewarder_3"]);

                console.log("--------------------------------------------------")
            })
        });
    });

}

readTable('0x37f60eb2d9d227949b95da8fea810db3c32d1e1fa8ed87434fc51664f87d83cb');

```
