Tag: json

使用Jackson将JSON反序列化为ArrayList <POJO>

我有一个Java类MyPojo ,我有兴趣从JSON反序列化。 我已经configuration了一个特殊的MixIn类MyPojoDeMixIn来协助我进行反序列化。 MyPojo只有int和String实例variables与正确的getter和setter相结合。 MyPojoDeMixIn看起来像这样: public abstract class MyPojoDeMixIn { MyPojoDeMixIn( @JsonProperty("JsonName1") int prop1, @JsonProperty("JsonName2") int prop2, @JsonProperty("JsonName3") String prop3) {} } 在我的testing客户端中,我执行以下操作,但是当然,它在编译时不起作用,因为存在与types不匹配有关的JsonMappingException 。 ObjectMapper m = new ObjectMapper(); m.getDeserializationConfig().addMixInAnnotations(MyPojo.class,MyPojoDeMixIn.class); try { ArrayList<MyPojo> arrayOfPojo = m.readValue(response, MyPojo.class); } catch (Exception e) { System.out.println(e) } 我意识到我可以通过创build一个只有一个ArrayList<MyPojo> Response对象来缓解这个问题,但是我必须为每一个我想要返回的types创build这些有些无用的对象。 我也在网上看了一下JacksonInFiveMinutes,但是很难理解Map<A,B> ,以及它与我的问题之间的关系。 如果你不能说,我完全不熟悉Java,来自Obj-C背景。 他们特别提到: 除了绑定到POJO和“简单”types之外,还有一个额外的变体:绑定到generics(键入)的容器。 这种情况需要特殊的处理,因为所谓的Type Erasure(被Java用来以一种向后兼容的方式来实现generics),这会阻止你使用类似Collection.class(不能编译)的东西。 所以如果你想要将数据绑定到一个Map,你将需要使用: Map<String,User> […]

谷歌的“定义:”通过API?

我想获得在Google中使用特殊function的search结果,如“define:[phrase]”,我似乎无法find有关此信息的相关信息。 有没有人知道我可以在哪里获取JSON格式的数据(就像Google的其他API一样),而无需手动search结果页面? 谢谢,Eli

将C ++类转换为JSON

我想创build一个包含我的类的实例variables的JSONstring。 例如, class Example { std::string string; std::map<std::string, std:string> map; std::vector<int> vector; }; 会成为: { "string":"the-string-value", "map": { "key1":"val1", "key2":"val2" }, "vector":[1,2,3,4] } 我已经研究过几个用于创buildJSON的C ++库,它们看起来都非常复杂。 我想要类似于Javascript的JSON.stringify(object) 。 换句话说就是传递一个std :: map到它并接收一个string。 地图可以包含其他地图,vector,列表,string,数字和布尔。 什么是最好的方法来做到这一点? 谢谢你的帮助。 编辑 我已经看了下面的内容: json精灵,jsoncpp,zoolib,JOST,CAJUN,libjson,nosjob,JsonBox,jsonme– 我理解我可以构build一个单独的JSON对象,如下面的答案,并转换为JSON我想能够存储我的东西在标准集合和转换。 编辑2 好吧,放弃序列化类的想法,因为C ++缺乏反思似乎是不可能的。 有没有一种很好的方式来转换包含std :: maps,std :: vectors,std :: lists,numbers,strings和bools的std :: map到JSON,而不必更改数据types或将数据复制到新的数据types? 谢谢。

JSON有什么好的CLI工具?

一般问题 虽然我可能正在诊断事件的根本原因,确定它影响的用户数量,或提取定时日志以评估最近代码更改的性能和吞吐量影响,但我的工具保持不变: grep , awk , sed , tr , uniq , sort , zcat , tail , head , join和split 。 为了把它们粘在一起,Unix给了我们pipe道,为了更好的过滤,我们有了xargs 。 如果这些让我失望,总会有perl -e 。 这些工具非常适合处理CSV文件,制表符分隔的文件,具有可预测的行格式的日志文件或使用逗号分隔的键值对的文件。 换句话说,每行有没有上下文的文件。 XML类似物 我最近需要浏览Gigabytes的XML来构build一个用户使用的直方图。 对于我所用的工具来说,这很简单,但对于更复杂的查询,正常的方法会失败。 说我有像这样的项目的文件: <foo user="me"> <baz key="zoidberg" value="squid" /> <baz key="leela" value="cyclops" /> <baz key="fry" value="rube" /> </foo> 假设我想产生一个从用户到平均数<baz> s per <foo>的映射。 逐行处理不再是一个select:我需要知道哪个用户的<foo>我正在检查,所以我知道谁的平均更新。 完成这个任务的任何一种Unix单线程都可能是不可思议的。 幸运的是,在XML-land中,我们拥有诸如XPath,XQuery和XSLT等奇妙技术来帮助我们。 […]

requirejs加载静态JSON文件

我想保留一个json文件来存储一些简单的数据,我想要求这个文件,并在define()调用中使用json对象,所以我可以使用它。 这不是一个“asynchronous”的电话。 我的意思是它应该是为了开发,但我真的想编译构build的文件不像来自API的实际的asynchronous调用,其中内容是dynamic的。

gson.toJson()抛出StackOverflowError

我想从我的对象生成一个JSONstring: Gson gson = new Gson(); String json = gson.toJson(item); 每当我尝试做到这一点,我得到这个错误: 14:46:40,236 ERROR [[BomItemToJSON]] Servlet.service() for servlet BomItemToJSON threw exception java.lang.StackOverflowError at com.google.gson.stream.JsonWriter.string(JsonWriter.java:473) at com.google.gson.stream.JsonWriter.writeDeferredName(JsonWriter.java:347) at com.google.gson.stream.JsonWriter.value(JsonWriter.java:440) at com.google.gson.internal.bind.TypeAdapters$7.write(TypeAdapters.java:235) at com.google.gson.internal.bind.TypeAdapters$7.write(TypeAdapters.java:220) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:89) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:200) at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:96) at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:60) at com.google.gson.Gson$FutureTypeAdapter.write(Gson.java:843) 这些是我的BomItem类的属性: private int itemId; private Collection<BomModule> modules; private boolean deprecated; […]

用于Java的JWT(JSON Web令牌)库

我正在开发一个使用Java和AngularJS开发的Web应用程序,并select实现令牌authentication和授权。 出于练习的目的,我已经到了将凭据发送到服务器的地步,生成随机令牌存储并将其发送回客户端。 在服务器的每个请求中,我都将标记附加在标题中,并且完美地工作。 对于authentication的angular度来看是完美的,并不需要更多。 但是,我现在想跟踪用户types(admin,普通用户…),以及它的id,或任何其他唯一字段; 据我所知,我必须encryption在令牌,我在发送回login到客户端的过程中。 那是对的吗? 是否有任何JWT库,您可以生成,encryption和解密这些令牌? 链接到图书馆的API和Maven的依赖将非常感激。 谢谢

NSJSONSerialization错误 – JSON写入中的无效types(Menu)

我有一个应用程序使用具有非常相似属性的3个实体的核心数据。 关系如下: 分支 – >>菜单 – >>分类 – >> FoodItem 每个实体都有一个关联的类:例子 我想在sqlite数据库中生成数据的JSON表示。 //gets a single menu record which has some categories and each of these have some food items id obj = [NSArray arrayWithObject:[[DataStore singleton] getHomeMenu]]; NSError *err; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:obj options:NSJSONWritingPrettyPrinted error:&err]; NSLog(@"JSON = %@", [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]); 但是,而不是JSON,我得到一个SIGABRT错误。 *** Terminating […]

Handlebars.jsparsing对象而不是

我正在使用Handlebars模板,并且JSON数据已经在[Object object]中表示出来了,我怎样才能在Handlebars之外parsing这些数据呢? 例如,我试图通过一个句柄标签在页面上填充一个JavaScriptvariables,但这是行不通的。 有什么build议么? 谢谢! 编辑: 为了澄清,我使用ExpressJS w / Handlebars模板。 在我的路线上,我有这样的: var user = {} user = {'id' : 123, 'name' : 'First Name'} res.render('index', {user : user}); 然后在我的index.hbs模板中,我现在有一个{{user}}对象。 我可以使用{{#each}}遍历对象。 不过,我也使用Backbonejs,我想将这些数据传递给一个View,例如: myView = new myView({user : {{user}}); 问题是,如果我把它放在console.log中, {{user}}只是在源代码中显示[Object object] ,我得到一个错误'Unexpected Identifier'。

去json.Marshal(结构)返回“{}”

type TestObject struct { kind string `json:"kind"` id string `json:"id, omitempty"` name string `json:"name"` email string `json:"email"` } func TestCreateSingleItemResponse(t *testing.T) { testObject := new(TestObject) testObject.kind = "TestObject" testObject.id = "f73h5jf8" testObject.name = "Yuri Gagarin" testObject.email = "Yuri.Gagarin@Vostok.com" fmt.Println(testObject) b, err := json.Marshal(testObject) if err != nil { fmt.Println(err) } fmt.Println(string(b[:])) } 这是输出: [ `go […]