When stuffing things in arrays I always use:
width: 0
height 7 (1 for each value you want to store associated with the entry, number derived from your example object)
depth:0
in one action:
Push front on X axis: object.dialogueparts
Set X,Y value : 0 , 1 , object.itemtype
set X,Y value: 0 , 2 , Dialogue1
set X,Y value: 0 , 3 Dialogue2
etc etc
The push front, pushes all other X axis up one on the Xaxis and adds one to the width of the array.
Then the item inserted will be at 0,0 (object.dialogueparts)
Seeing as we are still at the front of the array with the item we are adding, we simply refer to X 0
0,1
0,2
0,3
0,4 etc etc
Where all the second value represent the Y, which are the items belonging to the entry.
Now, you can reference these entries with Arrayname.At(0,2) (this would get you the dialogue2 )