স্ট্রিং ব্যবহার করে কীভাবে JSON অবজেক্ট তৈরি করবেন?


97

আমি স্ট্রিং ব্যবহার করে একটি JSON অবজেক্ট তৈরি করতে চাই।

উদাহরণ: জেএসওএন {"test1":"value1","test2":{"id":0,"name":"testName"}}

উপরের JSON তৈরি করার জন্য আমি এটি ব্যবহার করছি।

String message;
JSONObject json = new JSONObject();

json.put("test1", "value1");

JSONObject jsonObj = new JSONObject();

jsonObj.put("id", 0);
jsonObj.put("name", "testName");
json.put("test2", jsonObj);

message = json.toString();
System.out.println(message);

আমি জানতে চাই কীভাবে আমি একটি জেএসএন তৈরি করতে পারি যার এতে জেএসওএন অ্যারে রয়েছে।

নীচে নমুনা জেএসওএন রয়েছে।

{
  "name": "student",
   "stu": {
    "id": 0,
    "batch": "batch@"
  },
  "course": [
    {
      "information": "test",
      "id": "3",
      "name": "course1"
    }
  ],
  "studentAddress": [
    {
      "additionalinfo": "test info",
      "Address": [
        {
          "H.No": "1243",
          "Name": "Temp Address",
          "locality": "Temp locality",
           "id":33          
        },
        {
           "H.No": "1243",
          "Name": "Temp Address",
          "locality": "Temp locality", 
           "id":33                   
        },        
        {
           "H.No": "1243",
          "Name": "Temp Address",
          "locality": "Temp locality", 
           "id":36                   
        }
      ],
"verified": true,
    }
  ]
}

ধন্যবাদ

উত্তর:


187

JSONArray আপনি যা চান তা হতে পারে

String message;
JSONObject json = new JSONObject();
json.put("name", "student");

JSONArray array = new JSONArray();
JSONObject item = new JSONObject();
item.put("information", "test");
item.put("id", 3);
item.put("name", "course1");
array.add(item);

json.put("course", array);

message = json.toString();

// message
// {"course":[{"id":3,"information":"test","name":"course1"}],"name":"student"}

আমি কীভাবে এটি JSONObjectএকটি স্ট্রিং থেকে আবার এ রূপান্তর করব ?
morha13

JSONObject jsonObj = new JSONObject("your_json_string");
ক্যামিল

FYI যে এটি JSON অ্যারে পার্স করতে ব্যর্থ হবে (যদিও তারা প্রযুক্তিগতভাবে বৈধ JSON হলেও)। উদাহরণস্বরূপ, ব্যবহারকারীর জন্য JSONObject("[{\"foo\":2, \"bar\": 3}]");ফলাফল চেষ্টা করেA JSONObject text must begin with '{' at 1 [character 2 line 1]
ব্যবহারকারী 2490003

11

গৃহীত উত্তরের প্রস্তাবের বিপরীতে, ডকুমেন্টেশন বলে যে জেএসএনআরএ () এর জন্য আপনাকে অবশ্যই ব্যবহার করতে হবে put(value)না add(value)

https://developer.android.com/references/org/json/JSONArray.html#put(java.lang.Object)

(অ্যান্ড্রয়েড এপিআই 19-27। কোটলিন 1.2.50)


2

আপনি জিএসএন.জসনঅবজেক্টটি ব্যবহার করলে আপনার এর মতো কিছু থাকতে পারে:

import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

String jsonString = "{'test1':'value1','test2':{'id':0,'name':'testName'}}"
JsonObject jsonObject = (JsonObject) jsonParser.parse(jsonString)

এটি আমার পক্ষে, সহজ সমাধানটির জন্য কাজ করেছে, ধন্যবাদ
বিলিজোকার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.