Typically, oxygen is assigned a #-II# oxidation state in most of its ions. We shall examine the formal, elemental oxidation states in (i) #SO_4^(2-)#, (ii) #NO_3^-#, and (iii) #S_2O_3^(2-)", thiosulfate"#.
(i). For sulfate #4xx(-2) + S_(ON)=-2#. Clearly, #S_(ON)=+VI#.
(ii) For nitrate #3xx(-2) + N_(ON)=-1#. Clearly, #N_(ON)=+V#.
(iii) Thiosulfate is a bit of a different customer. We could assign an average oxidation number of #S_(ON)=+II#, which fits. However, I have always preferred to view the thiosulfate ion as sulfate in which one of the oxygen atoms has been replaced by congeneric sulfur, and it assumes the oxygen oxidation state, here #-II#. With this formalism, the central sulfur is #+VI# (as in sulfate) and the terminal sulfur is #-II#. (Of course, the average oxidation number is still #+II# as before.
If this is unclear, please respond. Can you tell me the oxidation numbers of phosphorus in #PO_4^(3-)#, or of carbon in #CO_3^(2-)#, or how about chlorine in #ClO_4^-#?