我有以下格式的 json 文件:
{ "_id" : "foo.com", "categories" : [], "h1" : { "bar==" : { "first" : 1281916800, "last" : 1316995200 }, "foo==" : { "first" : 1281916800, "last" : 1316995200 } }, "name2" : [ "foobarl.com", "foobar2.com" ], "rep" : null }
那么,我如何在猪中解析这个json..
此外,类别和代表中可能有一些字符......并且可能并不总是空的。我做了以下尝试。
a = load 'sample_json.json' using JsonLoader('id:chararray,categories:[chararray], hostt:{ (variable_a: {(first:int,last:int)})}, ns:[chararray],rep:chararray ');
但我得到这个错误:
org.codehaus.jackson.JsonParseException: Unexpected character ('D' (code 68)): 在 [Source: java .io.ByteArrayInputStream@4795b8e9; line: 1, column: 50] at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1291) at org.codehaus.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:385) at org.codehaus.jackson .impl.JsonParserMinimalBase._reportUnexpectedChar(JsonParserMinimalBase.java:306) 在 org.codehaus.jackson.impl.Utf8StreamParser._handleUnexpectedValue(Utf8StreamParser.java:1582) 在 org.codehaus.jackson.impl.Utf8StreamParser.nextToken(Utf8StreamParser.java:386) ) 在 org.apache.pig.builtin 的 org.apache.pig.builtin.JsonLoader.readField(JsonLoader.java:173)。