在Python中显示JSON特定的JSON结果

时间:2016-03-17 14:07:18

标签: python json

我是Python新手并拥有以下代码:

def doSentimentAnalysisAndPrint(keyval):  
    import urllib

    data = urllib.urlencode(keyval) 
    u = urllib.urlopen("http://text-processing.com/api/sentiment/", data)
    json_string = u.read()   

    parsed_json = json.loads(json_string)

    # print the various key:values
    print(parsed_json['probability'])
    print ">>", parsed_json['label']

打印结果为:

{u'neg': 0.24087437946650492, u'neutral': 0.19184084028194423, u'pos': 0.7591256205334951}
>> pos

我只想打印出实际结果?例如。在这种情况下"肯定:0.7591256205334951"但不知道如何实现这个目标?

1 个答案:

答案 0 :(得分:2)

使用时请阅读API documentation'label'键指向'probability'字典中的键是确定的情绪:

  

标签:如果文字被确定为正面,则为pos,如果文字为负,则为neg < / em>,或neutral如果文字既不是pos也不是neg

     

概率:包含每个标签概率的对象。 negpos最多为1,而neutral则为独立。如果neutral大于0.5,则label将为neutral。否则,label将为posneg,以较大概率为准。

所以你已经有了一个标签,相应的值只是一个键查找。将标签值映射到要打印的字符串(如pos映射到Positive,然后合并两者:

sentiments = {'pos': 'Positive', 'neg': 'Negative', 'neutral': 'Neutral'}
label = parsed_json['label']
print sentiments[label], parsed_json['probability'][label]