merge all into single repo

This commit is contained in:
fixminer
2020-04-06 20:40:32 +02:00
parent 9dcdb6aafc
commit 3c91dd7ea3
524 changed files with 1272301 additions and 1531 deletions
+1
View File
@@ -0,0 +1 @@
description = 'GumTree tree generator for JSON code (AntLR based).'
@@ -0,0 +1,112 @@
grammar JSON;
options {
output = AST;
}
tokens {
STRING; NUMBER; OBJECT; FIELD; ARRAY;
COMMA = ',';
TRUE; FALSE; NULL;
}
@header {
package com.github.gumtreediff.gen.antlr3.json;
import java.util.regex.Pattern;
}
@lexer::header {
package com.github.gumtreediff.gen.antlr3.json;
}
// Optional step: Disable automatic error recovery
@members {
protected void mismatch(IntStream input, int ttype, BitSet follow)
throws RecognitionException
{
throw new MismatchedTokenException(ttype, input);
}
public Object recoverFromMismatchedSet(IntStream input,
RecognitionException e,
BitSet follow)
throws RecognitionException
{
throw e;
}
}
// Alter code generation so catch-clauses get replace with
// this action.
@rulecatch {
catch (RecognitionException e) {
throw e;
}
}
value
: string
| number
| object
| array
| 'true' -> TRUE
| 'false' -> FALSE
| 'null' -> NULL
;
string : String
-> ^(STRING String)
;
// If you want to conform to the RFC, use a validating semantic predicate to check the result.
number : n=Number {Pattern.matches("(0|(-?[1-9]\\d*))(\\.\\d+)?", n.getText())}?
Exponent?
-> ^(NUMBER Number Exponent?)
;
object : '{' members? '}'
-> ^(OBJECT members?)
;
array : '[' elements? ']'
-> ^(ARRAY elements?)
;
elements: value (COMMA! value)*
;
members : pair (COMMA! pair)*
;
pair : String ':' value
-> ^(FIELD String value)
;
Number : '-'? Digit+ ( '.' Digit+)?;
Exponent: ('e'|'E') '-'? ('1'..'9') Digit*;
String :
'"' ( EscapeSequence | ~('\u0000'..'\u001f' | '\\' | '\"' ) )* '"'
;
WS: (' '|'\n'|'\r'|'\t')+ {$channel=HIDDEN;} ; // ignore whitespace
fragment EscapeSequence
: '\\' (UnicodeEscape |'b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\'|'\/')
;
fragment UnicodeEscape
: 'u' HexDigit HexDigit HexDigit HexDigit
;
fragment HexDigit
: '0'..'9' | 'A'..'F' | 'a'..'f'
;
fragment Digit
: '0'..'9'
;
@@ -0,0 +1,162 @@
tree grammar JSONTree;
options {
tokenVocab=JSON; // reuse token types
ASTLabelType=CommonTree; // $label will have type CommonTree
}
@header {
package com.github.gumtreediff.gen.antlr3.json;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.io.ByteArrayOutputStream;
import java.io.OutputStreamWriter;
}
@members {
private Object extractNumber(CommonTree numberToken, CommonTree exponentToken) {
String numberBody = numberToken.getText();
String exponent = (exponentToken == null) ? null : exponentToken.getText().substring(1); // remove the 'e' prefix if there
boolean isReal = numberBody.indexOf('.') >= 0 || exponent != null;
if (!isReal) {
return new Integer(numberBody);
} else {
double result = Double.parseDouble(numberBody);
if (exponent != null) {
result = result * Math.pow(10.0f, Double.parseDouble(exponent));
}
return new Double(result);
}
}
private String extractString(CommonTree token) {
// StringBuffers are an efficient way to modify strings
StringBuffer sb = new StringBuffer(token.getText());
// Process character escapes
int startPoint = 1; // skip initial quotation mark
for (;;) {
int slashIndex = sb.indexOf("\\", startPoint); // search for a single backslash
if (slashIndex == -1) break;
// Else, we have a backslash
char escapeType = sb.charAt(slashIndex + 1);
switch (escapeType) {
case'u':
// Unicode escape.
String unicode = extractUnicode(sb, slashIndex);
sb.replace(slashIndex, slashIndex + 6, unicode); // backspace
break; // back to the loop
// note: Java's character escapes match JSON's, which is why it looks like we're replacing
// "\b" with "\b". We're actually replacing 2 characters (slash-b) with one (backspace).
case 'b':
sb.replace(slashIndex, slashIndex + 2, "\b"); // backspace
break;
case 't':
sb.replace(slashIndex, slashIndex + 2, "\t"); // tab
break;
case 'n':
sb.replace(slashIndex, slashIndex + 2, "\n"); // newline
break;
case 'f':
sb.replace(slashIndex, slashIndex + 2, "\f"); // form feed
break;
case 'r':
sb.replace(slashIndex, slashIndex + 2, "\r"); // return
break;
case '\'':
sb.replace(slashIndex, slashIndex + 2, "\'"); // single quote
break;
case '\"':
sb.replace(slashIndex, slashIndex + 2, "\""); // double quote
break;
case '\\':
sb.replace(slashIndex, slashIndex + 2, "\\"); // backslash
break;
case '/':
sb.replace(slashIndex, slashIndex + 2, "/"); // solidus
break;
}
startPoint = slashIndex+1;
}
// remove surrounding quotes
sb.deleteCharAt(0);
sb.deleteCharAt(sb.length() - 1);
return sb.toString();
}
private String extractUnicode(StringBuffer sb, int slashIndex) {
// Gather the 4 hex digits, convert to an integer, translate the number to a unicode char, replace
String result;
String code = sb.substring(slashIndex + 2, slashIndex + 6);
int charNum = Integer.parseInt(code, 16); // hex to integer
// There's no simple way to go from an int to a unicode character.
// We'll have to pass this through an output stream writer to do
// the conversion.
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(baos, "UTF-8");
osw.write(charNum);
osw.flush();
result = baos.toString("UTF-8"); // Thanks to Silvester Pozarnik for the tip about adding "UTF-8" here
} catch (Exception e) {
e.printStackTrace();
result = null;
}
return result;
}
}
value returns [Object result]
: s=string { $result = s; }
| n=number { $result = n; }
| o=object { $result = o; }
| a=array { $result = a; }
| TRUE { $result=Boolean.TRUE; }
| FALSE {$result = Boolean.FALSE; }
| NULL {$result = null; }
;
string returns [String result]
: ^(STRING String)
{ $result = extractString($String); }
;
object returns [Map result]
@init { result = new HashMap(); }
: ^(OBJECT pair[$result]+)
;
number returns [Object result]
: ^(NUMBER Number Exponent?)
{ $result = extractNumber($Number, $Exponent); }
;
array returns [List list]
@init{ list = new ArrayList(); }
: ^(ARRAY (v=value {$list.add(v); })* )
;
pair [Map map]
: ^(FIELD key=String v=value)
{ $map.put(extractString($key), v); }
;
@@ -0,0 +1,50 @@
/*
* This file is part of GumTree.
*
* GumTree is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GumTree is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with GumTree. If not, see <http://www.gnu.org/licenses/>.
*
* Copyright 2011-2015 Jean-Rémy Falleri <jr.falleri@gmail.com>
* Copyright 2011-2015 Floréal Morandat <florealm@gmail.com>
*/
package com.github.gumtreediff.gen.antlr3.json;
import com.github.gumtreediff.gen.Register;
import com.github.gumtreediff.gen.antlr3.AbstractAntlr3TreeGenerator;
import org.antlr.runtime.*;
@Register(id = "json-antlr", accept = "\\.json$")
public class AntlrJsonTreeGenerator extends AbstractAntlr3TreeGenerator<JSONLexer, JSONParser> {
@Override
protected JSONLexer getLexer(ANTLRStringStream stream) {
return new JSONLexer(stream);
}
@Override
protected JSONParser getParser(TokenStream tokens) {
return new JSONParser(tokens);
}
@Override
protected RuleReturnScope getStartRule(JSONParser parser) throws RecognitionException {
return parser.value();
}
@Override
protected final String[] getTokenNames() {
return JSONParser.tokenNames;
}
}
@@ -0,0 +1,42 @@
/*
* This file is part of GumTree.
*
* GumTree is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GumTree is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with GumTree. If not, see <http://www.gnu.org/licenses/>.
*
* Copyright 2011-2015 Jean-Rémy Falleri <jr.falleri@gmail.com>
* Copyright 2011-2015 Floréal Morandat <florealm@gmail.com>
*/
package com.github.gumtreediff.gen.antlr3.json;
import static org.junit.Assert.*;
import java.io.InputStreamReader;
import com.github.gumtreediff.tree.ITree;
import com.github.gumtreediff.tree.TreeContext;
import org.junit.Test;
public class TestJsonParsing {
@Test
public void testJsonParsing() throws Exception {
TreeContext tc = new AntlrJsonTreeGenerator().generateFromReader(
new InputStreamReader(getClass().getResourceAsStream("/sample.json")));
ITree tree = tc.getRoot();
assertEquals(4, tree.getType());
assertEquals(37, tree.getSize());
}
}
@@ -0,0 +1,14 @@
[
{
"an_object": {
"a": 1,
"b": 1,
"c": "foo",
"d": true
},
"an_array": [true, true, true]
},
[[{}]],
[1, 2, 3],
true
]
@@ -0,0 +1,510 @@
{
"items": [
{
"owner": {
"reputation": 16,
"user_id": 2473093,
"user_type": "registered",
"profile_image": "http:\/\/i.stack.imgur.com\/Oh4Gc.jpg?s=128&g=1",
"display_name": "urman",
"link": "http:\/\/stackoverflow.com\/users\/2473093\/urman"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591411,
"last_edit_date": 1431591411,
"creation_date": 1431582116,
"answer_id": 30230049,
"question_id": 30148202
},
{
"owner": {
"reputation": 52,
"user_id": 4864889,
"user_type": "registered",
"profile_image": "https:\/\/www.gravatar.com\/avatar\/8378261cf0d4950301ad65087487f51b?s=128&d=identicon&r=PG&f=1",
"display_name": "Amir H",
"link": "http:\/\/stackoverflow.com\/users\/4864889\/amir-h"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591407,
"creation_date": 1431591407,
"answer_id": 30232512,
"question_id": 30231345
},
{
"owner": {
"reputation": 1523,
"user_id": 4391147,
"user_type": "registered",
"profile_image": "https:\/\/lh5.googleusercontent.com\/-WJ2zykPbiqI\/AAAAAAAAAAI\/AAAAAAAAAng\/9C2D_oliqD8\/photo.jpg?sz=128",
"display_name": "Alexander Dayan",
"link": "http:\/\/stackoverflow.com\/users\/4391147\/alexander-dayan"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591407,
"creation_date": 1431591407,
"answer_id": 30232511,
"question_id": 30232423
},
{
"owner": {
"reputation": 9,
"user_id": 3433258,
"user_type": "registered",
"profile_image": "https:\/\/www.gravatar.com\/avatar\/31795b700ed9401855a752f1728565e9?s=128&d=identicon&r=PG&f=1",
"display_name": "swapnilagarwal",
"link": "http:\/\/stackoverflow.com\/users\/3433258\/swapnilagarwal"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591405,
"creation_date": 1431591405,
"answer_id": 30232510,
"question_id": 30227759
},
{
"owner": {
"reputation": 94,
"user_id": 1808654,
"user_type": "registered",
"accept_rate": 89,
"profile_image": "https:\/\/www.gravatar.com\/avatar\/f685c091ceb85bd4053dfc84c3b1fc74?s=128&d=identicon&r=PG",
"display_name": "oyjh",
"link": "http:\/\/stackoverflow.com\/users\/1808654\/oyjh"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591395,
"creation_date": 1431591395,
"answer_id": 30232509,
"question_id": 30209710
},
{
"owner": {
"reputation": 123,
"user_id": 2589810,
"user_type": "registered",
"profile_image": "http:\/\/graph.facebook.com\/1195031301\/picture?type=large",
"display_name": "Akshin Jalilov",
"link": "http:\/\/stackoverflow.com\/users\/2589810\/akshin-jalilov"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591388,
"creation_date": 1431591388,
"answer_id": 30232508,
"question_id": 30224912
},
{
"owner": {
"reputation": 2871,
"user_id": 4519059,
"user_type": "registered",
"accept_rate": 17,
"profile_image": "http:\/\/i.stack.imgur.com\/RDPZo.png?s=128&g=1",
"display_name": "shA.t",
"link": "http:\/\/stackoverflow.com\/users\/4519059\/sha-t"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591366,
"last_edit_date": 1431591366,
"creation_date": 1431587344,
"answer_id": 30231391,
"question_id": 30228478
},
{
"owner": {
"reputation": 128178,
"user_id": 330315,
"user_type": "registered",
"accept_rate": 83,
"profile_image": "https:\/\/www.gravatar.com\/avatar\/4b152262d9ba55197f609625358ff7e0?s=128&d=identicon&r=PG",
"display_name": "a_horse_with_no_name",
"link": "http:\/\/stackoverflow.com\/users\/330315\/a-horse-with-no-name"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591343,
"creation_date": 1431591343,
"answer_id": 30232502,
"question_id": 30231832
},
{
"owner": {
"reputation": 750,
"user_id": 2468158,
"user_type": "registered",
"profile_image": "http:\/\/i.stack.imgur.com\/LSk1F.jpg?s=128&g=1",
"display_name": "Drumbeg",
"link": "http:\/\/stackoverflow.com\/users\/2468158\/drumbeg"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591341,
"last_edit_date": 1431591341,
"creation_date": 1431590718,
"answer_id": 30232332,
"question_id": 30231746
},
{
"owner": {
"reputation": 28424,
"user_id": 1256624,
"user_type": "registered",
"profile_image": "http:\/\/i.stack.imgur.com\/EdJaa.jpg?s=128&g=1",
"display_name": "huon-dbaupp",
"link": "http:\/\/stackoverflow.com\/users\/1256624\/huon-dbaupp"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591335,
"creation_date": 1431591335,
"answer_id": 30232500,
"question_id": 30177395
},
{
"owner": {
"reputation": 11,
"user_id": 4799901,
"user_type": "registered",
"profile_image": "http:\/\/graph.facebook.com\/851364241589275\/picture?type=large",
"display_name": "S&#229;g&#228;r \u015a&#229;x&#235;\u0144&#225;",
"link": "http:\/\/stackoverflow.com\/users\/4799901\/s%c3%a5g%c3%a4r-%c5%9a%c3%a5x%c3%ab%c5%84%c3%a1"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591333,
"creation_date": 1431591333,
"answer_id": 30232499,
"question_id": 12258814
},
{
"owner": {
"reputation": 76046,
"user_id": 1919155,
"user_type": "registered",
"profile_image": "https:\/\/www.gravatar.com\/avatar\/0d7d26642f016f64f37619d209037dff?s=128&d=identicon&r=PG",
"display_name": "Mats Petersson",
"link": "http:\/\/stackoverflow.com\/users\/1919155\/mats-petersson"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591333,
"creation_date": 1431591333,
"answer_id": 30232498,
"question_id": 30231938
},
{
"owner": {
"reputation": 21598,
"user_id": 17875,
"user_type": "registered",
"profile_image": "https:\/\/www.gravatar.com\/avatar\/9589a0b8efc6bb869bedfa51e7d28f16?s=128&d=identicon&r=PG",
"display_name": "Eevee",
"link": "http:\/\/stackoverflow.com\/users\/17875\/eevee"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591321,
"creation_date": 1431591321,
"answer_id": 30232496,
"question_id": 30232421
},
{
"owner": {
"reputation": 11,
"user_id": 4890577,
"user_type": "registered",
"profile_image": "http:\/\/i.stack.imgur.com\/aehYB.png?s=128&g=1",
"display_name": "lord63. j",
"link": "http:\/\/stackoverflow.com\/users\/4890577\/lord63-j"
},
"is_accepted": false,
"score": 1,
"last_activity_date": 1431591321,
"creation_date": 1431591321,
"answer_id": 30232495,
"question_id": 30232344
},
{
"owner": {
"reputation": 10121,
"user_id": 1351469,
"user_type": "registered",
"accept_rate": 100,
"profile_image": "https:\/\/www.gravatar.com\/avatar\/d0a659b0aa7c7dfc45ab9cff52f3c140?s=128&d=identicon&r=PG",
"display_name": "jcesarmobile",
"link": "http:\/\/stackoverflow.com\/users\/1351469\/jcesarmobile"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591320,
"creation_date": 1431591320,
"answer_id": 30232494,
"question_id": 30217167
},
{
"owner": {
"reputation": 1,
"user_id": 4896508,
"user_type": "registered",
"profile_image": "https:\/\/www.gravatar.com\/avatar\/d9be840fb80aed5a6b27da4b78452b74?s=128&d=identicon&r=PG&f=1",
"display_name": "Leo",
"link": "http:\/\/stackoverflow.com\/users\/4896508\/leo"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591309,
"creation_date": 1431591309,
"answer_id": 30232492,
"question_id": 30224254
},
{
"owner": {
"reputation": 76,
"user_id": 4628456,
"user_type": "registered",
"profile_image": "https:\/\/www.gravatar.com\/avatar\/b1217b1f012b0638d589bcdfdb27fe8b?s=128&d=identicon&r=PG&f=1",
"display_name": "swelsh",
"link": "http:\/\/stackoverflow.com\/users\/4628456\/swelsh"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591308,
"creation_date": 1431591308,
"answer_id": 30232490,
"question_id": 30223997
},
{
"owner": {
"reputation": 44,
"user_id": 162615,
"user_type": "registered",
"profile_image": "https:\/\/www.gravatar.com\/avatar\/647972e0840d0dd84e87a4317f0c91c7?s=128&d=identicon&r=PG",
"display_name": "Thommas",
"link": "http:\/\/stackoverflow.com\/users\/162615\/thommas"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591302,
"creation_date": 1431591302,
"answer_id": 30232489,
"question_id": 23519983
},
{
"owner": {
"reputation": 28,
"user_id": 3302933,
"user_type": "registered",
"profile_image": "https:\/\/www.gravatar.com\/avatar\/f25042331fe29187bfd5ad2a5eb461c2?s=128&d=identicon&r=PG",
"display_name": "JVercout",
"link": "http:\/\/stackoverflow.com\/users\/3302933\/jvercout"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591292,
"creation_date": 1431591292,
"answer_id": 30232487,
"question_id": 30229995
},
{
"owner": {
"reputation": 28575,
"user_id": 704848,
"user_type": "registered",
"profile_image": "https:\/\/www.gravatar.com\/avatar\/3f9be2c2958e208c8d9b629ac43c9c42?s=128&d=identicon&r=PG",
"display_name": "EdChum",
"link": "http:\/\/stackoverflow.com\/users\/704848\/edchum"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591291,
"creation_date": 1431591291,
"answer_id": 30232486,
"question_id": 30230548
},
{
"owner": {
"reputation": 12492,
"user_id": 2435473,
"user_type": "registered",
"accept_rate": 60,
"profile_image": "http:\/\/i.stack.imgur.com\/GOWOI.jpg?s=128&g=1",
"display_name": "pankajparkar",
"link": "http:\/\/stackoverflow.com\/users\/2435473\/pankajparkar"
},
"is_accepted": true,
"score": 1,
"last_activity_date": 1431591288,
"last_edit_date": 1431591288,
"creation_date": 1431590547,
"answer_id": 30232282,
"question_id": 30232179
},
{
"owner": {
"reputation": 5733,
"user_id": 3518452,
"user_type": "registered",
"accept_rate": 94,
"profile_image": "https:\/\/www.gravatar.com\/avatar\/71c8adf8d0ebc93a00ac2a0498509091?s=128&d=identicon&r=PG",
"display_name": "rnevius",
"link": "http:\/\/stackoverflow.com\/users\/3518452\/rnevius"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591286,
"creation_date": 1431591286,
"answer_id": 30232484,
"question_id": 30232305
},
{
"owner": {
"reputation": 58530,
"user_id": 92315,
"user_type": "registered",
"accept_rate": 50,
"profile_image": "https:\/\/www.gravatar.com\/avatar\/d2824c2017a878f6fe05db2797694608?s=128&d=identicon&r=PG",
"display_name": "Fabien M&#233;nager",
"link": "http:\/\/stackoverflow.com\/users\/92315\/fabien-m%c3%a9nager"
},
"is_accepted": true,
"score": 4706,
"last_activity_date": 1431591279,
"last_edit_date": 1431591279,
"creation_date": 1259067936,
"answer_id": 1789952,
"question_id": 1789945
},
{
"owner": {
"reputation": 341,
"user_id": 3254377,
"user_type": "registered",
"profile_image": "https:\/\/www.gravatar.com\/avatar\/108584ca35efbc205efe9160bb3d7fc7?s=128&d=identicon&r=PG&f=1",
"display_name": "wsl",
"link": "http:\/\/stackoverflow.com\/users\/3254377\/wsl"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591266,
"creation_date": 1431591266,
"answer_id": 30232479,
"question_id": 30232349
},
{
"owner": {
"reputation": 699,
"user_id": 1519186,
"user_type": "registered",
"accept_rate": 100,
"profile_image": "http:\/\/i.stack.imgur.com\/VJWGi.jpg?s=128&g=1",
"display_name": "Marco Kerwitz",
"link": "http:\/\/stackoverflow.com\/users\/1519186\/marco-kerwitz"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591260,
"last_edit_date": 1431591260,
"creation_date": 1431590862,
"answer_id": 30232366,
"question_id": 30232320
},
{
"owner": {
"reputation": 13,
"user_id": 1827885,
"user_type": "registered",
"profile_image": "https:\/\/www.gravatar.com\/avatar\/3f3fe425330ed46481d3abdac97da62c?s=128&d=identicon&r=PG",
"display_name": "Mebibyte",
"link": "http:\/\/stackoverflow.com\/users\/1827885\/mebibyte"
},
"is_accepted": false,
"score": 1,
"last_activity_date": 1431591259,
"last_edit_date": 1431591259,
"creation_date": 1431590808,
"answer_id": 30232355,
"question_id": 30232095
},
{
"owner": {
"reputation": 1944,
"user_id": 1485701,
"user_type": "registered",
"accept_rate": 67,
"profile_image": "http:\/\/i.stack.imgur.com\/2XZYq.jpg?s=128&g=1",
"display_name": "Antoine",
"link": "http:\/\/stackoverflow.com\/users\/1485701\/antoine"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591256,
"last_edit_date": 1431591256,
"creation_date": 1431087914,
"answer_id": 30123839,
"question_id": 19196659
},
{
"owner": {
"reputation": 91,
"user_id": 4711799,
"user_type": "registered",
"profile_image": "https:\/\/www.gravatar.com\/avatar\/1b2ec531248f7ad1c32328c9de0d2171?s=128&d=identicon&r=PG&f=1",
"display_name": "BDH",
"link": "http:\/\/stackoverflow.com\/users\/4711799\/bdh"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591242,
"creation_date": 1431591242,
"answer_id": 30232474,
"question_id": 30232171
},
{
"owner": {
"reputation": 891,
"user_id": 978690,
"user_type": "registered",
"accept_rate": 86,
"profile_image": "https:\/\/www.gravatar.com\/avatar\/700764aebc81328fccad1fbd558dca75?s=128&d=identicon&r=PG",
"display_name": "rap-2-h",
"link": "http:\/\/stackoverflow.com\/users\/978690\/rap-2-h"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591242,
"creation_date": 1431591242,
"answer_id": 30232473,
"question_id": 30232334
},
{
"owner": {
"reputation": 672,
"user_id": 2064336,
"user_type": "registered",
"accept_rate": 75,
"profile_image": "http:\/\/i.stack.imgur.com\/NpJar.jpg?s=128&g=1",
"display_name": "Jaydipsinh Zala",
"link": "http:\/\/stackoverflow.com\/users\/2064336\/jaydipsinh-zala"
},
"is_accepted": false,
"score": 0,
"last_activity_date": 1431591241,
"last_edit_date": 1431591241,
"creation_date": 1431588560,
"answer_id": 30231742,
"question_id": 16893209
}
],
"has_more": true,
"quota_max": 300,
"quota_remaining": 287
}