to_json index with Null Value Broken in 1.0
Discovered by @ArtificialQualia in #31748

Previous behavior on 0.25.3:

```python
>>> pd.Series([1], index=[np.nan]).to_json()
'{"null":1}'
>>> pd.Series([1], index=[pd.NaT]).to_json()
'{"null":1}'
>>> pd.Series([1], index=[None]).to_json()
'{"null":1}'
```

And now on master:

```python
>>> pd.Series([1], index=[np.nan]).to_json()
'{"nan":1}'
>>> pd.Series([1], index=[pd.NaT]).to_json()
'{"null":1}'
>>> pd.Series([1], index=[None]).to_json()
'{"None":1}'
```

Note that pd.NA also just has its str representation written out:

```python
>>> pd.Series([1], index=[pd.NA]).to_json()
'{"<NA>":1}'
```

pd.NaT still works because of this logic:

https://github.com/pandas-dev/pandas/blob/6d3cc14fc52685511329cedf1e11d15651ac6a8e/pandas/_libs/src/ujson/python/objToJSON.c#L1455

So probably need to generalize for other "null" values