2016-03-24 137 views
0

我想通过从API获取响应后创建的字符串进行解析。获取字符串的特定部分

这是我试图解析字符串:

// API callback 
translateText({ 
"data":{ 
    "translations":[ 
    { 
    "translatedText": "Ola Mundo", 
    "detectedSourceLanguage": "en" 
    } 
] 
} 
} 
); 

我希望能够得到翻译后的文本“世界报奥拉”,但我不希望只是通过它可以搜索和获取具体的文本,因为这个文本下次可能会有所不同。

+0

这个问题已经在这里解答:http://stackoverflow.com/questions/2591098/how-to-parse-json-in-java –

回答

0

看起来这是一个有效的JSON对象,其中一个选择是使用Jackson库或其他类型将字符串转换为JSON对象,之后您可以获取任何所需内容。

0

尝试这样做,有以下Regex

translatedText": (.*?), 

在Java中,你接近的结果与:

Pattern p = Pattern.compile(""); 
Matcher m = p.matcher(str); 
0

如果您删除translateText();一部分,只是有:

{“data”:{“translations”:[{“translatedText”:“Ola Mundo”, “detectedSourceLanguage”:“en”}]}}

其有效的JSON对象,您可以轻松地使用库来解析它。 See this post.如果您想安全访问数据,建议使用此方法。

+0

我不能从字符串中删除任何东西,因为它会自动生成代码 – Jdavis649

+0

你可能只是创建一个新的字符串并删除前13个字符和最后2个字符。 –