我有这样的数据:
新闻项目:
可能有许多NewsItems说10。我必须将它们发送到jquery。
我正在这样做:
JSONObject obj = new JSONObject();
JSONArray arr = new JSONArray();
for(int i = 0 ; i< list.size() ; i++){
p = list.get(i);
arr.put(p.getId());
arr.put(p.getTitle());
arr.put(new MyDateFormatter().getStringFromDateDifference(p.getCreationDate()));
arr.put(getTrimmedText(p.getText()));
obj.put(""+i,arr);
arr = new JSONArray();
}
这将创建一个JSON字符串,如下所示: {"1":["id","title","date","txt"],"2":[......and so on...
这是正确的方法吗?
如何解析此字符串,以便可以在jQuery中获取每个新闻项对象,以便可以访问attr。
像这样:
obj.id,
obj.title
或者,如果这是创建JSON字符串的错误方法,请提出一些更好的方法,并以jQuery分析为例。
我相信您正在反向整理数据。似乎您想使用的数组NewsItems
,如果这样,则您的Java JSON生成代码应如下所示:
JSONObject obj = new JSONObject();
JSONArray arr = new JSONArray();
for(int i = 0 ; i< list.size() ; i++)
{
p = list.get(i);
obj.put("id", p.getId());
obj.put("title", p.getTitle());
obj.put("date". new MyDateFormatter().getStringFromDateDifference(p.getCreationDate()));
obj.put("txt", getTrimmedText(p.getText()));
arr.put(obj);
obj = new JSONObject();
}
现在,您的JSON字符串将如下所示:
[{"id": "someId", "title": "someTitle", "date": "dateString", "txt": "someTxt"},
{"id": "someOtherId", "title": "someOtherTitle", "date": "anotherDateString", "txt": "someOtherTxt"},
...]
假设您的NewsItem获取者返回Strings
。JSONObject方法也put
被重载以采用原始类型,因此,例如,如果您getId
返回int
,则它将作为裸JSON添加int
。我假设JSONObject.put(String, Object)
调用toString
该值,但是我无法验证这一点。
现在,在javascript中,您可以直接使用这样的字符串:
var arr =
[{"id": "someId", "title": "someTitle", "date": "dateString", "txt": "someTxt"},
{"id": "someOtherId", "title": "someOtherTitle", "date": "anotherDateString", "txt": "someOtherTxt"}];
for (i = 0; i < arr.length; i++)
alert(arr[i].title); // should show you an alert box with each first title
大家好 错误:org.json.jsonException:不是原始数组:类org.json.jsonArray 我不明白为什么这是一个问题。我想从对象中获得JSONArray。
本文向大家介绍java json字符串转JSONObject和JSONArray以及取值的实例,包括了java json字符串转JSONObject和JSONArray以及取值的实例的使用技巧和注意事项,需要的朋友参考一下 java json字符串转JSONObject和JSONArray以及取值的实例 实现代码: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文向大家介绍JSONObject与JSONArray的使用,包括了JSONObject与JSONArray的使用的使用技巧和注意事项,需要的朋友参考一下 1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar
本文向大家介绍浅析Java中JSONObject和JSONArray使用,包括了浅析Java中JSONObject和JSONArray使用的使用技巧和注意事项,需要的朋友参考一下 废话不多说,先给大家贴代码,具体代码如下所示: 运行结果如下: 通过构造器的方式创建的JSONObject对象:{"derek":"23","dad":"49","mom":"45"} 通过fromObject方法将ma
问题内容: 我有一些JSON(如下所示),我试图解析整个JSON,每个对象将是一个声明下面变量的类的新实例。做这个的最好方式是什么?我应该使用JSONReader还是使用JSONObject和JSONArray。我一直在阅读一些教程并提出一些一般性问题,但是我还没有看到任何有关如何解析此类数据的示例。 问题答案: 如果我要这样做,我会将整个字符串解析为一个JSONObject 然后我看到您的子类别
问题内容: 我将从服务器接收JSON对象或数组,但是我不知道它将是什么。我需要使用JSON,但是要这样做,我需要知道它是对象还是数组。 我正在使用Android。 有没有人有这样做的好方法? 问题答案: 我找到了更好的方法来确定: tokenizer可以返回更多类型:http : //developer.android.com/reference/org/json/JSONTokener.html