相关疑难解决方法(0)

导出书签的解析器谷歌浏览器的HTML文件和Java中的Mozilla

如何从Java中解析Google Chrome和Mozilla Firefox中导出的书签文件.是否有任何库可以直接解析它们并获取其中的URL.

另外,欢迎使用Java解析它们的示例代码.

html java firefox parsing google-chrome

6
推荐指数
2
解决办法
5250
查看次数

已知格式时从字符串解析 JSON 的最快方法

我想在 Java 中将 String 解析为内部 JSON 对象(或等效对象)。通常的库GsonJackson,对于我的需求来说太慢了(根据我的基准,每个 String 到 Json 解析的速度都超过 100us)。我知道有稍微快一点的库,但是查看在线基准测试,可用的收益会很小(不到一个数量级的改进)。

如果我事先知道 JSON 的格式,有没有办法可以更快地解析它?例如,我知道 String 将是以下格式的 JSON:

{
   "A" : 1.0 ,
   "B" : "X"
}
Run Code Online (Sandbox Code Playgroud)

即,我知道两个键是“A”和“B”,值分别是双精度值和字符串。鉴于这种格式的高级知识,是否有一个库或某种方法可以比平时更快地解析 JSON?

java parsing json jackson gson

6
推荐指数
1
解决办法
4318
查看次数

在java中读取JSON对象

我们如何在JSP,Servlet或任何其他Java程序中读取JSON对象?

java json jsp

5
推荐指数
2
解决办法
1万
查看次数

解析JSON时出现问题

当我尝试解析JSON时,我收到一个非常奇怪的错误.实际上,文件非常简单,由一个简单的对象组成如下:

{
    "registered":false,
    "firstname":"xxx",
    "name":"yyyy",
    "email":"yyyy.xxx@gmail.com",
    "picture":"xxxxx.jpg",
    "username":"xxxy"
}
Run Code Online (Sandbox Code Playgroud)

为了解析这个文件,我使用了以下代码,其灵感来自Android SDK的示例:

public static boolean isRegistered(int nmb) {
    boolean toReturn = true;
    JsonReader reader = null;
    try {
        reader = new JsonReader(new InputStreamReader(new URL("xxx").openConnection().getInputStream()));
        reader.beginObject();
        while(reader.hasNext()) {
            String name = reader.nextName();
            Log.i("Next value", name);
            switch (name) {
                case "registered":
                    toReturn = reader.nextBoolean();
                    break;
                case "firstname":
                    ProfileManager.getInstance().setFirstname(reader.nextString());
                    break;
                case "name":
                    ProfileManager.getInstance().setName(reader.nextString());
                    break;
                case "email":
                    break;
                case "picture":
                    break;
                case "username":
                    break;
            }
        }
        reader.endObject();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch …
Run Code Online (Sandbox Code Playgroud)

java android json

4
推荐指数
1
解决办法
148
查看次数

如何成功获取外部IP

阅读后:用Java获取"外部"IP地址

码:

public static void main(String[] args) throws IOException
{
    URL whatismyip = new URL("http://automation.whatismyip.com/n09230945.asp");
    BufferedReader in = new BufferedReader(new InputStreamReader(whatismyip.openStream()));

    String ip = in.readLine(); //you get the IP as a String
    System.out.println(ip);
}
Run Code Online (Sandbox Code Playgroud)

我以为我是胜利者,但我得到以下错误

Exception in thread "main" java.io.IOException: Server returned HTTP response code: 403 for URL: http://automation.whatismyip.com/n09230945.asp
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at getIP.main(getIP.java:12)
Run Code Online (Sandbox Code Playgroud)

我认为这是因为服务器没有足够快的响应,无论如何确保它将获得外部IP?

编辑:好吧所以它被拒绝,其他人都知道另一个可以做同样功能的网站

java ip

3
推荐指数
3
解决办法
2万
查看次数

JSON解析引发错误

Stackoverflow中有很多示例来展示如何解析JSON。但是没有一个例子对我有用,我想我有一个普遍的问题,我不明白:

我在以下陈述中得到一个错误:

JSONObject obj2 = new JSONObject("{interests : [{interestKey:Dogs}, {interestKey:Cats}]}");
Run Code Online (Sandbox Code Playgroud)

例外:

Exception in thread "main" java.lang.RuntimeException: Stub!
    at org.json.JSONObject.<init>(JSONObject.java:7)
    at JSONTest.main(JSONTest.java:44)
Run Code Online (Sandbox Code Playgroud)

我正在使用Java 1.7和库org.json

我尝试了以下示例: 示例1 示例2

可能是什么原因 ?

java json

3
推荐指数
1
解决办法
2207
查看次数

java中反序列化Json对象

我无法弄清楚,我应该反序列化这种类型的 json 对象:

{ "value":integer", "total":1", "records":138", "rows":[ { "value1":6, "value2":true, "bool":true, "floatNumber":140.41", "floatNumber2":28.7", "floatNumber3":140.41", "cssClassName":""", "date":"19/03/2022"", "UTCdate":"2016-03-22T00:00:00+0000"", "UTCdate2":"2016-03-24T20:45:25+0000" }, { "value1":6, "value2":true, "bool":true, "floatNumber":140.41", "floatNumber2":28.7", "floatNumber3":140.41", "cssClassName":""", "date":"19/03/2022"", "UTCdate":"2016-03-22T00:00:00+0000"", "UTCdate2":"2016-03-24T20:45:25+0000"} ]}

但我不知道该怎么办。我希望将此项目添加到我的类中,指出为相应的属性分配什么值。

我尝试使用 Flexjson 库,但没有看到任何可以让我做我想做的事情的函数。

从哪儿开始?

PS:我从未将对象序列化为 JSON,所以我不知道它是如何工作的。

javascript java json object

3
推荐指数
1
解决办法
6万
查看次数

Android ArrayList 到多维ArrayList

在我的项目中,我有一个像这样的数组列表:

{"data": 
[
{"Title": "Fiat 500", "Url":"http://lh5.ggpht.com/-wgCH-P1bWCo/UWW_eCUXsVI/AAAAAAAMaKI/MlRF0GzwF8Y/s1200/Fiat-Abarth-500-US-6%25255B2%25255D.jpg"},
{"Title": "Alfa Romeo", "Url": "http://i.auto-bild.de/ir_img/1/2/4/5/4/9/7/Alfa-Romeo-4C-Spider-Vorstellung-und-Preis-1200x800-24a91d418ddbd1fa.jpg"},
{"Title": "500L", "Url":"http://cdn1.autoexpress.co.uk/sites/autoexpressuk/files/fiat-500-turbo-front-action.jpg"},
{"Title": "Egea", "Url":"https://pbs.twimg.com/media/C6vp_VcU4AAaM0t.jpg"},
{"Title": "Maserati", "Url":"http://lh4.ggpht.com/-CjXVq7s2roU/U06cyjInzjI/AAAAAAAQwvI/xuJUZ0BbOUw/s1200/Maserati-Centennial-1%25255B2%25255D.jpg"},
{"Title": "Lancia", "Url":"http://lh6.ggpht.com/_FoXyvaPSnVk/TWl73Gr0lmI/AAAAAAAECw0/ZK7nAKZ6mdY/s1200/Lancia-Chrysler-30%5B5%5D.jpg"},
{"Title": "Jeep", "Url":"http://lh3.ggpht.com/-1UvJYZn4fR0/UyGvPSDIrZI/AAAAAAAQdR0/s2c70tIu1i0/s1200/Jeep-2%25255B3%25255D.jpg"},
{"Title": "Ferrari", "Url":"http://fm.cnbc.com/applications/cnbc.com/resources/img/editorial/2016/02/05/103366052-1957s.jpg?v=1454698344"},
{"Title": "Alfa Romeo", "Url":"http://lh3.ggpht.com/-lYmpe0bGJko/UnqlBB040wI/AAAAAAAO4yE/HbUaH9RxWR8/s1200/Alfa-Romeo-Gloria-Concept-by-IED-1%25255B4%25255D.jpg"},
{"Title": "Maserati", "Url":"http://zonderpump.com/images/maserati-granturismo-sport-can-you-feel-it2.jpg"}
]
}
Run Code Online (Sandbox Code Playgroud)

我想添加这样的项目 ,但是 viewpager 和适配器只获得一项。所以我想让我的 ArrayList 维度并设置如下文本:textview.setText(list.getUsername[0 or 1]);

我怎样才能做到这一点。非常感谢。顺便说一句,我发现了这段代码:

function listToMatrix(list, elementsPerSubArray) {
    var matrix = [], i, k;

    for (i = 0, k = -1; i < list.length; i++) {
        if (i % elementsPerSubArray === 0) {
            k++; …
Run Code Online (Sandbox Code Playgroud)

android arraylist multidimensional-array

3
推荐指数
1
解决办法
3025
查看次数

从 JSON 字符串中删除双引号

我有以下 JSON 字符串:

{ "students" : "[  {\"studentId\" : \"A1\",\"studentNumber\" 
 : \"287\",\"studentType\" : \"FullTime\"} ]"  }
Run Code Online (Sandbox Code Playgroud)

为了在java对象中反序列化这个字符串,我必须删除\,这可以使用字符串替换方法来完成。除此之外,[ ] 之前和之后也有双引号。如何删除这些双引号或在使用 Jackson 反序列化时允许它们。

java json jackson

3
推荐指数
1
解决办法
1万
查看次数

尝试解析JSONArray时发生ClassCastException

尝试使用json.simple库解析以下JSON字符串时:

[
    {"id" : "6d7662a9.f8ba04"},
    {"id" : "2da98cc2.145ba4"},
    {"id" : "45492640.a17d68"}
]
Run Code Online (Sandbox Code Playgroud)

我得到这个例外:

java.lang.ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.simple.JSONArray
Run Code Online (Sandbox Code Playgroud)

这就是我的做法:

JSONArray json = (JSONArray) new JSONParser().parse(jsonString);
Run Code Online (Sandbox Code Playgroud)

JSON字符串是一个数组,因此不确定为什么会引发该异常。

这里有几个类似的问题,但是在他们的情况下,他们试图将a强制转换JSONObject为a,JSONArray因此抛出异常是有意义的,但在这种情况下,它看起来是正确的。

-----------------编辑-----------------

我添加了一行来打印对象的类,如下所示:

Object json = new JSONParser().parse(jsonString);
System.out.println(json.getClass());
Run Code Online (Sandbox Code Playgroud)

打印以下行:

class org.json.simple.JSONArray
Run Code Online (Sandbox Code Playgroud)

在下一行中,如果出现以下情况,则显示为:

if(json instanceof JSONArray) {
    System.out.println("This is a JSONArray");
}
Run Code Online (Sandbox Code Playgroud)

但是它不访问if,所以它真的很奇怪,因为首先我检查对象是否为JSONArray,但它不会打印 "This is a JSONArray"

java json classcastexception

2
推荐指数
1
解决办法
98
查看次数