How to make a MutableDictionary into a immutable

Is it possible to convert a mutabledictionary back to a dictionary?

i cant call toJSON on a mutable dictionary

toMutable()

Hi I think you did not get what I mean. I am looking to convert a mutable dictionary to a immutable so i can use the toJSON

This is couchbase I think its already given that I am talking about
com.couchbase.lite.MutableDictionary convert to com.couchbase.lite.Dictionary

Genesis say just cast it…

AI Overview

To convert a com.couchbase.lite.MutableDictionary to a com.couchbase.lite.Dictionary in Couchbase Lite, you can simply cast it. MutableDictionary extends Dictionary, so a MutableDictionary object is also a valid Dictionary object.

Here is an example in Java:

Java

import com.couchbase.lite.Dictionary;
import com.couchbase.lite.MutableDictionary;
public class DictionaryConversion { 
   public static void main(String[] args) {
        // Create a MutableDictionary
        MutableDictionary mutableDict = new MutableDictionary();
        mutableDict.setString("name", "John Doe");
        mutableDict.setInt("age", 30);        // Convert MutableDictionary to Dictionary by casting
        Dictionary dictionary = (Dictionary) mutableDict;
        // You can now use the 'dictionary' object as a Dictionary
        System.out.println("Name from Dictionary: " + dictionary.getString("name"));
        System.out.println("Age from Dictionary: " + dictionary.getInt("age"));    }}

You are correct that you cannot call toJson on a mutable dictionary, even though it extends from the dictionary class. Usually you need to have extra steps in order to get to a mutable dictionary from an immutable one so this is a surprising use case to me. We don’t have this because the way that the dictionary is finalized is by saving it into a database. Perhaps you could explain a bit more about why you are trying to get JSON out of it?