How can I predict rank of a team based on list of team members and past placement?
This sounds like an interesting problem. Based on what you're trying to achieve, I think you should consider a more classical approach first, rather than diving straight into a neural network. I would consider something like an ordered logistic regression model. This is an extension of logistic regression, handling two or more ordered outcomes.
Since you have your data in a json file, I'd first convert this to a csv. Then load the csv into Python to estimate/train any models. You can then use the data to estimate an ordered logistic regression model. See the Python documentation here.
Your response will be rank (1-10). You can use the characters and items used as predictors. You could also look at interaction terms between the characters and predictors - this is because certain item and character combinations impact the outcome differently. One concern is that this model might become quickly over parameterised. Next you could consider a neural network.
In the neural network, your input nodes will be the characters and items. You'll need to perform a one hot encoding on the rank before you can use it to train the network. Note that you should use a cross entropy loss function, with a softmax activation function on the output layer. It's important to note that this doesn't achieve exactly the same thing as an ordered logistic regression (we're ignoring the fact the outcome is ordered). See this question about setting up a neural network mimic an ordered logistic regression.