'Create a new instance based on a JSON dict.
Args:
data: A JSON dict, as converted from the JSON in the twitter API
Returns:
A twitter.Status instance'

@staticmethod
def NewFromJsonDict(data):

    if ('user' in data):
        user = User.NewFromJsonDict(data['user'])
    else:
        user = None
    if ('retweeted_status' in data):
        retweeted_status = Status.NewFromJsonDict(data['retweeted_status'])
    else:
        retweeted_status = None
    if ('current_user_retweet' in data):
        current_user_retweet = data['current_user_retweet']['id']
    else:
        current_user_retweet = None
    urls = None
    user_mentions = None
    hashtags = None
    media = None
    if ('entities' in data):
        if ('urls' in data['entities']):
            urls = [Url.NewFromJsonDict(u) for u in data['entities']['urls']]
        if ('user_mentions' in data['entities']):
            user_mentions = [User.NewFromJsonDict(u) for u in data['entities']['user_mentions']]
        if ('hashtags' in data['entities']):
            hashtags = [Hashtag.NewFromJsonDict(h) for h in data['entities']['hashtags']]
        if ('media' in data['entities']):
            media = data['entities']['media']
        else:
            media = []
    return Status(created_at=data.get('created_at', None), favorited=data.get('favorited', None), favorite_count=data.get('favorite_count', None), id=data.get('id', None), text=data.get('text', None), location=data.get('location', None), in_reply_to_screen_name=data.get('in_reply_to_screen_name', None), in_reply_to_user_id=data.get('in_reply_to_user_id', None), in_reply_to_status_id=data.get('in_reply_to_status_id', None), truncated=data.get('truncated', None), retweeted=data.get('retweeted', None), source=data.get('source', None), user=user, urls=urls, user_mentions=user_mentions, hashtags=hashtags, media=media, geo=data.get('geo', None), place=data.get('place', None), coordinates=data.get('coordinates', None), contributors=data.get('contributors', None), retweeted_status=retweeted_status, current_user_retweet=current_user_retweet, retweet_count=data.get('retweet_count', None), possibly_sensitive=data.get('possibly_sensitive', None), scopes=data.get('scopes', None), withheld_copyright=data.get('withheld_copyright', None), withheld_in_countries=data.get('withheld_in_countries', None), withheld_scope=data.get('withheld_scope', None))
