當前位置: 首頁>>技術問答>>正文


在Java中,如何將字符串轉換為JSONObject

我有一個名為jsonString的字符串變量:

{"phonetype":"N95","cat":"WP"}

現在我想把它轉換成JSON對象。已在Google上各種搜索查找,但沒有得到任何預期的答案…

最佳解決方法

使用org.json庫:

JSONObject jsonObj = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");

或者:

JSONParser parser = new JSONParser();
JSONObject json = (JSONObject) parser.parse(stringToParse);

第二種解決方法

可以使用google-gson。細節:

對象示例

class BagOfPrimitives {
  private int value1 = 1;
  private String value2 = "abc";
  private transient int value3 = 3;
  BagOfPrimitives() {
    // no-args constructor
  }
}

(串行化)

BagOfPrimitives obj = new BagOfPrimitives();
Gson gson = new Gson();
String json = gson.toJson(obj); 
==> json is {"value1":1,"value2":"abc"}

請注意,不能序列化具有循環引用的對象,因為這將導致無限遞歸。

(反序列化)

BagOfPrimitives obj2 = gson.fromJson(json, BagOfPrimitives.class);  
==> obj2 is just like obj

Gson的另一個例子是:

Gson很容易學習和實現,你需要知道的是以下兩種方法:

– > toJson() – 將java對象轉換為JSON格式

– > fromJson() – 將JSON轉換為java對象

import com.google.gson.Gson;

public class TestObjectToJson {
  private int data1 = 100;
  private String data2 = "hello";

  public static void main(String[] args) {
      TestObjectToJson obj = new TestObjectToJson();
      Gson gson = new Gson();

      //convert java object to JSON format
      String json = gson.toJson(obj);

      System.out.println(json);
  }

}

輸出

{"data1":100,"data2":"hello"}

資料:

Google Gson Project Home Page

Gson User Guide

Example

第三種方法

這裏JSON home page鏈接了各種Java JSON序列化器和反序列化器。

目前有以下20個:

這個列表還在變化中……

第四種方法

Java 7中的解決方案

import javax.json.*;

...

String TEXT;
JsonObject body = Json.createReader(new StringReader(TEXT)).readObject()

;

java json

參考資料

本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/3739.html,未經允許,請勿轉載。