To understand how your json is set up, it's easier to break it down. Let's look at the first dictionary's keys, and remove the values.
json = {"items": [], "links": {}}
You have a dictionary with two keys and two values. All three of the variables you are looking for (id, self, name) are in the first key, "items". So let's dive deeper.
json["items"] = [{'links': {'self': 'https://www.google.com'}, 'name': 'beast', 'type': 'Device', 'id': '12345'}]
Now you have a list containing a dictionary with the values you are looking for, so let's enter the first and only value of the list containing the next dictionary.
json["items"][0] = {'links': {'self': 'https://www.google.com'}, 'id': '12345', 'type': 'Device', 'name': 'beast'}
Finally we have the dictionary with the values are looking for, so you can use this code to find name and id.
json["items"][0]["name"] = beast
json["items"][0]["id"] = 12345
The self variable is hidden one dictionary deeper so we have to delve into the links key.
json["items"][0]["links"]["self"] = http://google.com
Now you have all of your values, you just need to follow through all the lists and dictionaries to get the value you want.