OK, here is an extract from json
You could have made the effort to get it and post it yourself, isn't it ?
{
	"name": "Serie A 2020/21",
	"matches": [
		{
			"round": "1^ Giornata",
			"date": "2020-09-19",
			"team1": "ACF Fiorentina",
			"team2": "Torino FC",
			"score": {
				"ft": [
					1,
					0
				]
			}
		},
		{
			"round": "1^ Giornata",
			"date": "2020-09-19",
			"team1": "Hellas Verona",
			"team2": "AS Roma",
			"score": {
				"ft": [
					3,
					0
				]
			},
			"status": "AWARDED"
		},
		{
			"round": "1^ Giornata",
			"date": "2020-09-20",
			"team1": "Parma",
			"team2": "SSC Napoli",
			"score": {
				"ft": [
					0,
					2
				]
			}
		},
The error is on lines 30 and 35 where you pass an array.
Just pass:
		@Published var users = UserItalia(matches: [])
and
						.decode(type: UserItalia.self, decoder: JSONDecoder())
You could also decode the complete JSON:
struct Score: Decodable, Hashable {
		var ft: [Int]?
}
struct Matches: Decodable, Hashable {
		var round: String?
		var date: String?
		var team1: String?
		var team2: String?
		var score: Score?
		var status: String?
}
struct UserItalia: Decodable, Hashable {
		var name: String?
		var matches: [Matches]?
}